@delali/sirannon-db 0.4.1-next.83 → 0.4.1-next.84

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 (46) hide show
  1. package/asyncapi.json +1414 -0
  2. package/dist/backup/index.d.ts +5 -5
  3. package/dist/backup/index.mjs +3 -3
  4. package/dist/backup-scheduler/index.d.ts +2 -2
  5. package/dist/{chunk-FBA7P4ZA.mjs → chunk-4YTDCIIC.mjs} +1 -69
  6. package/dist/{chunk-W74HFQFD.mjs → chunk-GCOJFQOL.mjs} +1 -1
  7. package/dist/{chunk-MO4APBYG.mjs → chunk-M3POIJ4C.mjs} +1 -1
  8. package/dist/{chunk-5DKWHT6K.mjs → chunk-O3FX3SD4.mjs} +39 -1
  9. package/dist/chunk-RWPKDNT3.mjs +698 -0
  10. package/dist/{chunk-OJXV4L3N.mjs → chunk-TLD7UGZV.mjs} +74 -1
  11. package/dist/{chunk-VGRAAQX3.mjs → chunk-VKCUSREW.mjs} +1 -1
  12. package/dist/client/index.d.ts +79 -32
  13. package/dist/client/topology.d.ts +4 -4
  14. package/dist/{client-base-DrGDqsee.d.ts → client-base-BhDtnfQ2.d.ts} +2 -2
  15. package/dist/codegen/cli.mjs +2 -1
  16. package/dist/codegen/index.d.ts +66 -5
  17. package/dist/codegen/index.mjs +2 -1
  18. package/dist/core/index.d.ts +10 -10
  19. package/dist/core/index.mjs +5 -5
  20. package/dist/{database-Az16v1XW.d.ts → database-DCMcMbJA.d.ts} +4 -4
  21. package/dist/{database-backup-MkUv3TBm.d.ts → database-backup-B3Ci--x1.d.ts} +1 -1
  22. package/dist/driver/better-sqlite3.d.ts +1 -1
  23. package/dist/driver/better-sqlite3.mjs +2 -2
  24. package/dist/driver/bun.d.ts +1 -1
  25. package/dist/driver/expo.d.ts +1 -1
  26. package/dist/driver/node.d.ts +1 -1
  27. package/dist/driver/node.mjs +2 -2
  28. package/dist/driver/wa-sqlite.d.ts +1 -1
  29. package/dist/{errors-Vb3pVooD.d.ts → errors-CEAzVgJE.d.ts} +1 -1
  30. package/dist/file-migrations/index.d.ts +1 -1
  31. package/dist/{protocol-LpSHJ9KR.d.ts → protocol-CSo0efey.d.ts} +17 -5
  32. package/dist/replication/coordinator/etcd.mjs +1 -1
  33. package/dist/replication/index.d.ts +7 -7
  34. package/dist/replication/index.mjs +3 -3
  35. package/dist/{restore-options-DpFDV5MP.d.ts → restore-options-CykGJ-K0.d.ts} +1 -1
  36. package/dist/server/index.d.ts +40 -20
  37. package/dist/server/index.mjs +159 -27
  38. package/dist/{server-options-zFNfponi.d.ts → server-options-CxGurh8V.d.ts} +1 -1
  39. package/dist/{sirannon-AG7tpQnO.d.ts → sirannon-vB6LOMP9.d.ts} +2 -2
  40. package/dist/transport/grpc.d.ts +3 -3
  41. package/dist/transport/memory.d.ts +3 -3
  42. package/dist/{types-Di0W__iN.d.ts → types-BSljQZxj.d.ts} +2 -2
  43. package/dist/{types-D0XB89fl.d.ts → types-C6w2a8JO.d.ts} +6 -0
  44. package/openapi.json +3146 -0
  45. package/package.json +18 -11
  46. package/dist/chunk-JZL64CZZ.mjs +0 -285
package/asyncapi.json ADDED
@@ -0,0 +1,1414 @@
1
+ {
2
+ "asyncapi": "3.0.0",
3
+ "info": {
4
+ "title": "Sirannon WebSocket API",
5
+ "version": "1.0.0",
6
+ "description": "The WebSocket protocol of a Sirannon server. A client connects to /db/{id}, offering the subprotocol sirannon.v1 when it offers any, and sends JSON text frames. Every client message carries a string id that the server repeats in its reply. Every value that a row, a bind parameter, a filter, or a change event carries follows the tagged value encoding: an integer outside the range from -(2^53 - 1) to 2^53 - 1 travels as an IntegerEnvelope and a BLOB as a BlobEnvelope. The server closes the connection with code 4401 or 4403 when the authenticate hook refuses the caller, and a client must not reconnect after either code.",
7
+ "license": {
8
+ "name": "Apache-2.0",
9
+ "identifier": "Apache-2.0"
10
+ }
11
+ },
12
+ "defaultContentType": "application/json",
13
+ "channels": {
14
+ "database": {
15
+ "address": "/db/{id}",
16
+ "title": "One database",
17
+ "description": "Queries, writes, change subscriptions, and live queries on one database. Offer the subprotocol sirannon.v1 ahead of any other subprotocol.",
18
+ "parameters": {
19
+ "id": {
20
+ "description": "The identifier of the database, percent-encoded."
21
+ }
22
+ },
23
+ "messages": {
24
+ "subscribe": {
25
+ "$ref": "#/components/messages/subscribe"
26
+ },
27
+ "unsubscribe": {
28
+ "$ref": "#/components/messages/unsubscribe"
29
+ },
30
+ "ack": {
31
+ "$ref": "#/components/messages/ack"
32
+ },
33
+ "query": {
34
+ "$ref": "#/components/messages/query"
35
+ },
36
+ "execute": {
37
+ "$ref": "#/components/messages/execute"
38
+ },
39
+ "transaction": {
40
+ "$ref": "#/components/messages/transaction"
41
+ },
42
+ "batch": {
43
+ "$ref": "#/components/messages/batch"
44
+ },
45
+ "load": {
46
+ "$ref": "#/components/messages/load"
47
+ },
48
+ "subscribed": {
49
+ "$ref": "#/components/messages/subscribed"
50
+ },
51
+ "unsubscribed": {
52
+ "$ref": "#/components/messages/unsubscribed"
53
+ },
54
+ "change": {
55
+ "$ref": "#/components/messages/change"
56
+ },
57
+ "changes": {
58
+ "$ref": "#/components/messages/changes"
59
+ },
60
+ "live": {
61
+ "$ref": "#/components/messages/live"
62
+ },
63
+ "result": {
64
+ "$ref": "#/components/messages/result"
65
+ },
66
+ "error": {
67
+ "$ref": "#/components/messages/error"
68
+ }
69
+ },
70
+ "bindings": {
71
+ "ws": {
72
+ "bindingVersion": "0.1.0"
73
+ }
74
+ }
75
+ }
76
+ },
77
+ "operations": {
78
+ "sendSubscribe": {
79
+ "action": "send",
80
+ "channel": {
81
+ "$ref": "#/channels/database"
82
+ },
83
+ "summary": "Opens a change subscription on a table, resuming after sinceSeq when the server retains that history, or a live query on the registered read that name gives.",
84
+ "messages": [
85
+ {
86
+ "$ref": "#/channels/database/messages/subscribe"
87
+ }
88
+ ],
89
+ "reply": {
90
+ "channel": {
91
+ "$ref": "#/channels/database"
92
+ },
93
+ "messages": [
94
+ {
95
+ "$ref": "#/channels/database/messages/subscribed"
96
+ },
97
+ {
98
+ "$ref": "#/channels/database/messages/error"
99
+ }
100
+ ]
101
+ }
102
+ },
103
+ "sendUnsubscribe": {
104
+ "action": "send",
105
+ "channel": {
106
+ "$ref": "#/channels/database"
107
+ },
108
+ "summary": "Ends the subscription or the live query that id gives.",
109
+ "messages": [
110
+ {
111
+ "$ref": "#/channels/database/messages/unsubscribe"
112
+ }
113
+ ],
114
+ "reply": {
115
+ "channel": {
116
+ "$ref": "#/channels/database"
117
+ },
118
+ "messages": [
119
+ {
120
+ "$ref": "#/channels/database/messages/unsubscribed"
121
+ },
122
+ {
123
+ "$ref": "#/channels/database/messages/error"
124
+ }
125
+ ]
126
+ }
127
+ },
128
+ "sendAck": {
129
+ "action": "send",
130
+ "channel": {
131
+ "$ref": "#/channels/database"
132
+ },
133
+ "summary": "Records that a device has stored every change up to seq, on a server that accepts device sync.",
134
+ "messages": [
135
+ {
136
+ "$ref": "#/channels/database/messages/ack"
137
+ }
138
+ ],
139
+ "reply": {
140
+ "channel": {
141
+ "$ref": "#/channels/database"
142
+ },
143
+ "messages": [
144
+ {
145
+ "$ref": "#/channels/database/messages/result"
146
+ },
147
+ {
148
+ "$ref": "#/channels/database/messages/error"
149
+ }
150
+ ]
151
+ }
152
+ },
153
+ "sendQuery": {
154
+ "action": "send",
155
+ "channel": {
156
+ "$ref": "#/channels/database"
157
+ },
158
+ "summary": "Runs a read statement, on a server that accepts SQL, or the registered read that name gives.",
159
+ "messages": [
160
+ {
161
+ "$ref": "#/channels/database/messages/query"
162
+ }
163
+ ],
164
+ "reply": {
165
+ "channel": {
166
+ "$ref": "#/channels/database"
167
+ },
168
+ "messages": [
169
+ {
170
+ "$ref": "#/channels/database/messages/result"
171
+ },
172
+ {
173
+ "$ref": "#/channels/database/messages/error"
174
+ }
175
+ ]
176
+ }
177
+ },
178
+ "sendExecute": {
179
+ "action": "send",
180
+ "channel": {
181
+ "$ref": "#/channels/database"
182
+ },
183
+ "summary": "Runs a write statement, on a server that accepts SQL, or the registered write that name gives.",
184
+ "messages": [
185
+ {
186
+ "$ref": "#/channels/database/messages/execute"
187
+ }
188
+ ],
189
+ "reply": {
190
+ "channel": {
191
+ "$ref": "#/channels/database"
192
+ },
193
+ "messages": [
194
+ {
195
+ "$ref": "#/channels/database/messages/result"
196
+ },
197
+ {
198
+ "$ref": "#/channels/database/messages/error"
199
+ }
200
+ ]
201
+ }
202
+ },
203
+ "sendTransaction": {
204
+ "action": "send",
205
+ "channel": {
206
+ "$ref": "#/channels/database"
207
+ },
208
+ "summary": "Runs every statement in one transaction, on a server that accepts SQL.",
209
+ "messages": [
210
+ {
211
+ "$ref": "#/channels/database/messages/transaction"
212
+ }
213
+ ],
214
+ "reply": {
215
+ "channel": {
216
+ "$ref": "#/channels/database"
217
+ },
218
+ "messages": [
219
+ {
220
+ "$ref": "#/channels/database/messages/result"
221
+ },
222
+ {
223
+ "$ref": "#/channels/database/messages/error"
224
+ }
225
+ ]
226
+ }
227
+ },
228
+ "sendBatch": {
229
+ "action": "send",
230
+ "channel": {
231
+ "$ref": "#/channels/database"
232
+ },
233
+ "summary": "Runs one statement once for each parameter set, in one transaction, on a server that accepts SQL.",
234
+ "messages": [
235
+ {
236
+ "$ref": "#/channels/database/messages/batch"
237
+ }
238
+ ],
239
+ "reply": {
240
+ "channel": {
241
+ "$ref": "#/channels/database"
242
+ },
243
+ "messages": [
244
+ {
245
+ "$ref": "#/channels/database/messages/result"
246
+ },
247
+ {
248
+ "$ref": "#/channels/database/messages/error"
249
+ }
250
+ ]
251
+ }
252
+ },
253
+ "sendLoad": {
254
+ "action": "send",
255
+ "channel": {
256
+ "$ref": "#/channels/database"
257
+ },
258
+ "summary": "Loads rows while the writer runs at relaxed durability, on a server that accepts SQL.",
259
+ "messages": [
260
+ {
261
+ "$ref": "#/channels/database/messages/load"
262
+ }
263
+ ],
264
+ "reply": {
265
+ "channel": {
266
+ "$ref": "#/channels/database"
267
+ },
268
+ "messages": [
269
+ {
270
+ "$ref": "#/channels/database/messages/result"
271
+ },
272
+ {
273
+ "$ref": "#/channels/database/messages/error"
274
+ }
275
+ ]
276
+ }
277
+ },
278
+ "receiveSubscribed": {
279
+ "action": "receive",
280
+ "channel": {
281
+ "$ref": "#/channels/database"
282
+ },
283
+ "summary": "Confirms a subscription, with the sequence it is live from, or the first rows of a live query.",
284
+ "messages": [
285
+ {
286
+ "$ref": "#/channels/database/messages/subscribed"
287
+ }
288
+ ]
289
+ },
290
+ "receiveUnsubscribed": {
291
+ "action": "receive",
292
+ "channel": {
293
+ "$ref": "#/channels/database"
294
+ },
295
+ "summary": "Confirms that a subscription has ended.",
296
+ "messages": [
297
+ {
298
+ "$ref": "#/channels/database/messages/unsubscribed"
299
+ }
300
+ ]
301
+ },
302
+ "receiveChange": {
303
+ "action": "receive",
304
+ "channel": {
305
+ "$ref": "#/channels/database"
306
+ },
307
+ "summary": "Delivers one change to a subscribed table.",
308
+ "messages": [
309
+ {
310
+ "$ref": "#/channels/database/messages/change"
311
+ }
312
+ ]
313
+ },
314
+ "receiveChanges": {
315
+ "action": "receive",
316
+ "channel": {
317
+ "$ref": "#/channels/database"
318
+ },
319
+ "summary": "Delivers several changes in ascending seq order, on a device subscription that asks for stagedStream.",
320
+ "messages": [
321
+ {
322
+ "$ref": "#/channels/database/messages/changes"
323
+ }
324
+ ]
325
+ },
326
+ "receiveLive": {
327
+ "action": "receive",
328
+ "channel": {
329
+ "$ref": "#/channels/database"
330
+ },
331
+ "summary": "Moves a live query to its new result with operations to apply in order, replaces its rows, or states that the server is reading it again.",
332
+ "messages": [
333
+ {
334
+ "$ref": "#/channels/database/messages/live"
335
+ }
336
+ ]
337
+ },
338
+ "receiveResult": {
339
+ "action": "receive",
340
+ "channel": {
341
+ "$ref": "#/channels/database"
342
+ },
343
+ "summary": "Answers a read, a write, a transaction, a batch, a load, or an ack.",
344
+ "messages": [
345
+ {
346
+ "$ref": "#/channels/database/messages/result"
347
+ }
348
+ ]
349
+ },
350
+ "receiveError": {
351
+ "action": "receive",
352
+ "channel": {
353
+ "$ref": "#/channels/database"
354
+ },
355
+ "summary": "Reports that a request failed, with the code that says why, or that the connection cannot open.",
356
+ "messages": [
357
+ {
358
+ "$ref": "#/channels/database/messages/error"
359
+ }
360
+ ]
361
+ }
362
+ },
363
+ "components": {
364
+ "schemas": {
365
+ "AckResponse": {
366
+ "type": "object",
367
+ "properties": {
368
+ "acked": {
369
+ "type": "boolean",
370
+ "description": "This is always true, because the server answers only once it has recorded the acknowledgement."
371
+ },
372
+ "seq": {
373
+ "type": "string",
374
+ "description": "The sequence that the device acknowledged, as a decimal string."
375
+ }
376
+ },
377
+ "required": [
378
+ "acked",
379
+ "seq"
380
+ ],
381
+ "description": "The server's answer to a device's acknowledgement."
382
+ },
383
+ "BatchResponse": {
384
+ "type": "object",
385
+ "properties": {
386
+ "results": {
387
+ "type": "array",
388
+ "items": {
389
+ "$ref": "#/components/schemas/ExecuteResponse"
390
+ },
391
+ "description": "One result per parameter set, in order."
392
+ }
393
+ },
394
+ "required": [
395
+ "results"
396
+ ],
397
+ "description": "The body that a batch route returns."
398
+ },
399
+ "BlobEnvelope": {
400
+ "type": "object",
401
+ "properties": {
402
+ "__sirannon_blob": {
403
+ "type": "string",
404
+ "description": "The bytes in uppercase hexadecimal, two digits per byte, where an empty string is an empty BLOB."
405
+ }
406
+ },
407
+ "required": [
408
+ "__sirannon_blob"
409
+ ],
410
+ "description": "A BLOB, which JSON has no type for. The server and the client put every BLOB in this envelope wherever it appears in a row, a change event, a bind parameter, or a subscription filter. Decode it into a byte array, and send a byte array in the same envelope."
411
+ },
412
+ "BulkLoadResult": {
413
+ "type": "object",
414
+ "properties": {
415
+ "rowsLoaded": {
416
+ "type": "number",
417
+ "description": "The number of parameter sets that the load applied."
418
+ },
419
+ "changes": {
420
+ "type": "number",
421
+ "description": "The number of rows that the load inserted, updated, or deleted."
422
+ }
423
+ },
424
+ "required": [
425
+ "rowsLoaded",
426
+ "changes"
427
+ ],
428
+ "description": "The totals for a bulk load, which Sirannon sums across rows so that a large load keeps no per-row results in memory."
429
+ },
430
+ "ExecuteResponse": {
431
+ "type": "object",
432
+ "properties": {
433
+ "changes": {
434
+ "type": "number",
435
+ "description": "The number of rows that the statement inserted, updated, or deleted."
436
+ },
437
+ "lastInsertRowId": {
438
+ "anyOf": [
439
+ {
440
+ "type": "string"
441
+ },
442
+ {
443
+ "type": "number"
444
+ }
445
+ ],
446
+ "description": "The row id that SQLite assigned to the last inserted row, as a decimal string when it exceeds the safe integer range."
447
+ }
448
+ },
449
+ "required": [
450
+ "changes",
451
+ "lastInsertRowId"
452
+ ],
453
+ "description": "The body that a write route returns."
454
+ },
455
+ "IntegerEnvelope": {
456
+ "type": "object",
457
+ "properties": {
458
+ "__sirannon_int": {
459
+ "type": "string",
460
+ "description": "The integer in decimal, of 1 to 19 digits with an optional leading `-`."
461
+ }
462
+ },
463
+ "required": [
464
+ "__sirannon_int"
465
+ ],
466
+ "description": "An integer outside the range from -(2^53 - 1) to 2^53 - 1, which JSON numbers cannot hold exactly. The server and the client put such an integer in this envelope wherever it appears in a row, a change event, a bind parameter, or a subscription filter. Decode it into a 64-bit integer, and send an integer outside that range in the same envelope."
467
+ },
468
+ "QueryResponse": {
469
+ "type": "object",
470
+ "properties": {
471
+ "rows": {
472
+ "type": "array",
473
+ "items": {
474
+ "type": "object",
475
+ "additionalProperties": true
476
+ },
477
+ "description": "The rows that the statement returned, with blobs and large integers in their tagged wire form."
478
+ }
479
+ },
480
+ "required": [
481
+ "rows"
482
+ ],
483
+ "description": "The body that a read route returns."
484
+ },
485
+ "ReadConcern": {
486
+ "type": "object",
487
+ "properties": {
488
+ "level": {
489
+ "$ref": "#/components/schemas/ReadConcernLevel",
490
+ "description": "The level that the node must confirm before it responds."
491
+ }
492
+ },
493
+ "required": [
494
+ "level"
495
+ ],
496
+ "description": "How current the data must be before a node serves a read."
497
+ },
498
+ "ReadConcernLevel": {
499
+ "type": "string",
500
+ "enum": [
501
+ "local",
502
+ "majority",
503
+ "linearizable"
504
+ ],
505
+ "description": "How current the data must be before a node serves a read."
506
+ },
507
+ "TransactionResponse": {
508
+ "type": "object",
509
+ "properties": {
510
+ "results": {
511
+ "type": "array",
512
+ "items": {
513
+ "$ref": "#/components/schemas/ExecuteResponse"
514
+ },
515
+ "description": "One result per statement, in the order that the transaction executed them."
516
+ }
517
+ },
518
+ "required": [
519
+ "results"
520
+ ],
521
+ "description": "The body that a transaction route returns."
522
+ },
523
+ "TransactionStatement": {
524
+ "type": "object",
525
+ "properties": {
526
+ "sql": {
527
+ "type": "string",
528
+ "description": "The statement to execute."
529
+ },
530
+ "params": {
531
+ "anyOf": [
532
+ {
533
+ "type": "object",
534
+ "additionalProperties": true
535
+ },
536
+ {
537
+ "type": "array",
538
+ "items": {}
539
+ }
540
+ ],
541
+ "description": "The values to bind to the statement, by name or by position."
542
+ }
543
+ },
544
+ "required": [
545
+ "sql"
546
+ ],
547
+ "description": "One statement inside a transaction or a registered write."
548
+ },
549
+ "WriteConcern": {
550
+ "type": "object",
551
+ "properties": {
552
+ "level": {
553
+ "$ref": "#/components/schemas/WriteConcernLevel",
554
+ "description": "Which nodes must acknowledge the write before the call returns."
555
+ },
556
+ "timeoutMs": {
557
+ "type": "number",
558
+ "description": "The number of milliseconds to wait for those acknowledgements before the call fails."
559
+ }
560
+ },
561
+ "required": [
562
+ "level"
563
+ ],
564
+ "description": "Which nodes must acknowledge a write, and how long the caller waits for their acknowledgements."
565
+ },
566
+ "WriteConcernLevel": {
567
+ "type": "string",
568
+ "enum": [
569
+ "local",
570
+ "majority",
571
+ "all"
572
+ ],
573
+ "description": "Which nodes must acknowledge a write before the call returns."
574
+ },
575
+ "WSAckMessage": {
576
+ "type": "object",
577
+ "properties": {
578
+ "type": {
579
+ "type": "string",
580
+ "const": "ack",
581
+ "description": "The message type for an acknowledgement."
582
+ },
583
+ "id": {
584
+ "type": "string",
585
+ "description": "The identifier that the client chooses, which the server repeats in its reply."
586
+ },
587
+ "deviceId": {
588
+ "type": "string",
589
+ "description": "The identifier of the device that sends the acknowledgement."
590
+ },
591
+ "seq": {
592
+ "type": "string",
593
+ "description": "The highest sequence that the device has stored, as a decimal string."
594
+ }
595
+ },
596
+ "required": [
597
+ "type",
598
+ "id",
599
+ "deviceId",
600
+ "seq"
601
+ ],
602
+ "description": "A device's acknowledgement of every change that it has stored up to a sequence."
603
+ },
604
+ "WSBatchMessage": {
605
+ "type": "object",
606
+ "properties": {
607
+ "type": {
608
+ "type": "string",
609
+ "const": "batch",
610
+ "description": "The message type for a batch."
611
+ },
612
+ "id": {
613
+ "type": "string",
614
+ "description": "The identifier that the client chooses, which the server repeats in its reply."
615
+ },
616
+ "sql": {
617
+ "type": "string",
618
+ "description": "The statement to execute for each parameter set."
619
+ },
620
+ "paramsBatch": {
621
+ "type": "array",
622
+ "items": {
623
+ "anyOf": [
624
+ {
625
+ "type": "object",
626
+ "additionalProperties": true
627
+ },
628
+ {
629
+ "type": "array",
630
+ "items": {}
631
+ }
632
+ ]
633
+ },
634
+ "description": "One parameter set for each execution of the statement."
635
+ },
636
+ "writeConcern": {
637
+ "$ref": "#/components/schemas/WriteConcern",
638
+ "description": "The acknowledgements that the server waits for before it confirms the batch."
639
+ }
640
+ },
641
+ "required": [
642
+ "type",
643
+ "id",
644
+ "sql",
645
+ "paramsBatch"
646
+ ],
647
+ "description": "A request to execute one statement with many parameter sets in a single server-side transaction."
648
+ },
649
+ "WSChangeMessage": {
650
+ "type": "object",
651
+ "properties": {
652
+ "type": {
653
+ "type": "string",
654
+ "const": "change",
655
+ "description": "The message type for a single change event."
656
+ },
657
+ "id": {
658
+ "type": "string",
659
+ "description": "The identifier of the subscription that this change is for."
660
+ },
661
+ "event": {
662
+ "$ref": "#/components/schemas/WSWireChangeEvent",
663
+ "description": "The change itself."
664
+ }
665
+ },
666
+ "required": [
667
+ "type",
668
+ "id",
669
+ "event"
670
+ ],
671
+ "description": "One change event for a subscriber."
672
+ },
673
+ "WSChangesMessage": {
674
+ "type": "object",
675
+ "properties": {
676
+ "type": {
677
+ "type": "string",
678
+ "const": "changes",
679
+ "description": "The message type for several change events."
680
+ },
681
+ "id": {
682
+ "type": "string",
683
+ "description": "The identifier of the subscription that these changes are for."
684
+ },
685
+ "events": {
686
+ "type": "array",
687
+ "items": {
688
+ "$ref": "#/components/schemas/WSWireChangeEvent"
689
+ },
690
+ "description": "The changes, in ascending sequence order."
691
+ }
692
+ },
693
+ "required": [
694
+ "type",
695
+ "id",
696
+ "events"
697
+ ],
698
+ "description": "Several change events in one frame, in ascending seq order. The server sends this frame only on a device subscription that asks for `stagedStream`, and each event has the same fields as the event in a `change` frame."
699
+ },
700
+ "WSErrorMessage": {
701
+ "type": "object",
702
+ "properties": {
703
+ "type": {
704
+ "type": "string",
705
+ "const": "error",
706
+ "description": "The message type for a failure."
707
+ },
708
+ "id": {
709
+ "type": "string",
710
+ "description": "The identifier from the request, or an empty string when the server cannot read one."
711
+ },
712
+ "error": {
713
+ "type": "object",
714
+ "properties": {
715
+ "code": {
716
+ "type": "string",
717
+ "description": "The machine-readable code of the error, which the client passes to the caller unchanged."
718
+ },
719
+ "message": {
720
+ "type": "string",
721
+ "description": "What went wrong, for a log or a person."
722
+ }
723
+ },
724
+ "required": [
725
+ "code",
726
+ "message"
727
+ ],
728
+ "description": "A machine-readable code and a human-readable message."
729
+ }
730
+ },
731
+ "required": [
732
+ "type",
733
+ "id",
734
+ "error"
735
+ ],
736
+ "description": "The server's report that a request failed."
737
+ },
738
+ "WSExecuteMessage": {
739
+ "type": "object",
740
+ "properties": {
741
+ "type": {
742
+ "type": "string",
743
+ "const": "execute",
744
+ "description": "The message type for a write."
745
+ },
746
+ "id": {
747
+ "type": "string",
748
+ "description": "The identifier that the client chooses, which the server repeats in its reply."
749
+ },
750
+ "sql": {
751
+ "type": "string",
752
+ "description": "The statement to execute, which the server executes only when it accepts SQL."
753
+ },
754
+ "params": {
755
+ "anyOf": [
756
+ {
757
+ "type": "object",
758
+ "additionalProperties": true
759
+ },
760
+ {
761
+ "type": "array",
762
+ "items": {}
763
+ }
764
+ ],
765
+ "description": "The values to bind to that statement, by name or by position."
766
+ },
767
+ "name": {
768
+ "type": "string",
769
+ "description": "The name of a registered write to execute in place of `sql`."
770
+ },
771
+ "args": {
772
+ "type": "object",
773
+ "additionalProperties": true,
774
+ "description": "The arguments that the registered write takes."
775
+ },
776
+ "writeConcern": {
777
+ "$ref": "#/components/schemas/WriteConcern",
778
+ "description": "The acknowledgements that the server waits for before it confirms this write."
779
+ }
780
+ },
781
+ "required": [
782
+ "type",
783
+ "id"
784
+ ],
785
+ "description": "A request to execute a write, either as SQL or by the name of a registered write."
786
+ },
787
+ "WSLiveMessage": {
788
+ "type": "object",
789
+ "properties": {
790
+ "type": {
791
+ "type": "string",
792
+ "const": "live",
793
+ "description": "The message type for a live-query update."
794
+ },
795
+ "id": {
796
+ "type": "string",
797
+ "description": "The identifier of the subscription that this update is for."
798
+ },
799
+ "ops": {
800
+ "type": "array",
801
+ "items": {
802
+ "$ref": "#/components/schemas/WSLiveOp"
803
+ },
804
+ "description": "The edits that move the result set to its new state."
805
+ },
806
+ "rows": {
807
+ "type": "array",
808
+ "items": {},
809
+ "description": "A complete replacement result set."
810
+ },
811
+ "revalidating": {
812
+ "type": "boolean",
813
+ "description": "Set while the server reads the query again."
814
+ }
815
+ },
816
+ "required": [
817
+ "type",
818
+ "id"
819
+ ],
820
+ "description": "A live query's new state, which is the edits that move it, a full replacement, or a notice that the server has started to read the query again."
821
+ },
822
+ "WSLiveOp": {
823
+ "anyOf": [
824
+ {
825
+ "type": "object",
826
+ "properties": {
827
+ "op": {
828
+ "type": "string",
829
+ "const": "insert",
830
+ "description": "Which edit this is: `'insert'` for a row added, `'update'` for a row changed in place, `'delete'` for a row removed."
831
+ },
832
+ "index": {
833
+ "type": "number",
834
+ "description": "The zero-based position in the result set that the edit applies to."
835
+ },
836
+ "row": {
837
+ "description": "The row that is now at that position."
838
+ }
839
+ },
840
+ "required": [
841
+ "op",
842
+ "index",
843
+ "row"
844
+ ]
845
+ },
846
+ {
847
+ "type": "object",
848
+ "properties": {
849
+ "op": {
850
+ "type": "string",
851
+ "const": "update",
852
+ "description": "The edit type for a row changed in place."
853
+ },
854
+ "index": {
855
+ "type": "number",
856
+ "description": "The position of the row that changed."
857
+ },
858
+ "row": {
859
+ "description": "The row's new values."
860
+ }
861
+ },
862
+ "required": [
863
+ "op",
864
+ "index",
865
+ "row"
866
+ ]
867
+ },
868
+ {
869
+ "type": "object",
870
+ "properties": {
871
+ "op": {
872
+ "type": "string",
873
+ "const": "delete",
874
+ "description": "The edit type for a removed row."
875
+ },
876
+ "index": {
877
+ "type": "number",
878
+ "description": "The position of the removed row."
879
+ }
880
+ },
881
+ "required": [
882
+ "op",
883
+ "index"
884
+ ]
885
+ }
886
+ ],
887
+ "description": "One edit to a live query's result set, as a position and the row at that position."
888
+ },
889
+ "WSLoadMessage": {
890
+ "type": "object",
891
+ "properties": {
892
+ "type": {
893
+ "type": "string",
894
+ "const": "load",
895
+ "description": "The message type for a load."
896
+ },
897
+ "id": {
898
+ "type": "string",
899
+ "description": "The identifier that the client chooses, which the server repeats in its reply."
900
+ },
901
+ "sql": {
902
+ "type": "string",
903
+ "description": "The statement to execute for each parameter set."
904
+ },
905
+ "paramsBatch": {
906
+ "type": "array",
907
+ "items": {
908
+ "anyOf": [
909
+ {
910
+ "type": "object",
911
+ "additionalProperties": true
912
+ },
913
+ {
914
+ "type": "array",
915
+ "items": {}
916
+ }
917
+ ]
918
+ },
919
+ "description": "One parameter set per row."
920
+ },
921
+ "durability": {
922
+ "type": "string",
923
+ "enum": [
924
+ "off",
925
+ "normal"
926
+ ],
927
+ "description": "The writer's durability level during the load. Defaults to 'off'."
928
+ },
929
+ "checkpoint": {
930
+ "type": "boolean",
931
+ "description": "Whether the server checkpoints the WAL after this load. Defaults to true."
932
+ }
933
+ },
934
+ "required": [
935
+ "type",
936
+ "id",
937
+ "sql",
938
+ "paramsBatch"
939
+ ],
940
+ "description": "A request to import many rows at relaxed durability, which the server restores before it replies."
941
+ },
942
+ "WSQueryMessage": {
943
+ "type": "object",
944
+ "properties": {
945
+ "type": {
946
+ "type": "string",
947
+ "const": "query",
948
+ "description": "The message type for a read."
949
+ },
950
+ "id": {
951
+ "type": "string",
952
+ "description": "The identifier that the client chooses, which the server repeats in its reply."
953
+ },
954
+ "sql": {
955
+ "type": "string",
956
+ "description": "The statement to execute, which the server executes only when it accepts SQL."
957
+ },
958
+ "params": {
959
+ "anyOf": [
960
+ {
961
+ "type": "object",
962
+ "additionalProperties": true
963
+ },
964
+ {
965
+ "type": "array",
966
+ "items": {}
967
+ }
968
+ ],
969
+ "description": "The values to bind to that statement, by name or by position."
970
+ },
971
+ "name": {
972
+ "type": "string",
973
+ "description": "The name of a registered read to execute in place of `sql`."
974
+ },
975
+ "args": {
976
+ "type": "object",
977
+ "additionalProperties": true,
978
+ "description": "The arguments that the registered read takes."
979
+ },
980
+ "readConcern": {
981
+ "$ref": "#/components/schemas/ReadConcern",
982
+ "description": "The read concern that this read requires."
983
+ }
984
+ },
985
+ "required": [
986
+ "type",
987
+ "id"
988
+ ],
989
+ "description": "A request to execute a read, either as SQL or by the name of a registered read."
990
+ },
991
+ "WSResultMessage": {
992
+ "type": "object",
993
+ "properties": {
994
+ "type": {
995
+ "type": "string",
996
+ "const": "result",
997
+ "description": "The message type for a reply to a read, write, transaction, batch, load, or acknowledgement."
998
+ },
999
+ "id": {
1000
+ "type": "string",
1001
+ "description": "The identifier from the request."
1002
+ },
1003
+ "data": {
1004
+ "anyOf": [
1005
+ {
1006
+ "$ref": "#/components/schemas/QueryResponse"
1007
+ },
1008
+ {
1009
+ "$ref": "#/components/schemas/ExecuteResponse"
1010
+ },
1011
+ {
1012
+ "$ref": "#/components/schemas/TransactionResponse"
1013
+ },
1014
+ {
1015
+ "$ref": "#/components/schemas/BatchResponse"
1016
+ },
1017
+ {
1018
+ "$ref": "#/components/schemas/BulkLoadResult"
1019
+ },
1020
+ {
1021
+ "$ref": "#/components/schemas/AckResponse"
1022
+ }
1023
+ ],
1024
+ "description": "The reply body, whose shape depends on the request."
1025
+ }
1026
+ },
1027
+ "required": [
1028
+ "type",
1029
+ "id",
1030
+ "data"
1031
+ ],
1032
+ "description": "The server's reply to a read, write, transaction, batch, load, or acknowledgement."
1033
+ },
1034
+ "WSSubscribedMessage": {
1035
+ "type": "object",
1036
+ "properties": {
1037
+ "type": {
1038
+ "type": "string",
1039
+ "const": "subscribed",
1040
+ "description": "The message type for a subscription confirmation."
1041
+ },
1042
+ "id": {
1043
+ "type": "string",
1044
+ "description": "The identifier of the subscription that is now open."
1045
+ },
1046
+ "maxUnacknowledgedChanges": {
1047
+ "type": "number",
1048
+ "description": "The number of changes that the server sends past the device's acknowledged cursor before it pauses delivery. The server sends it only for a device subscription."
1049
+ },
1050
+ "seq": {
1051
+ "type": "string",
1052
+ "description": "The seq from which the subscription is live. A client that has not yet received any change stores this seq as its resume cursor, so that after a reconnect during a quiet period, the server still replays every change that the client missed."
1053
+ },
1054
+ "resync": {
1055
+ "type": "boolean",
1056
+ "description": "Set when the server cannot replay from the requested `sinceSeq`, because that seq is older than the history that the server retains, the client's `epoch` differs from the server's, or the replay fails. The server skips the replay and the subscription starts from the server's current position, so the client must treat its earlier state as stale and read it again."
1057
+ },
1058
+ "epoch": {
1059
+ "type": "string",
1060
+ "description": "The identifier of the sequence space that this subscription streams from. The client stores it and sends it back when it resumes, so that the server answers a cursor from a different database with `resync: true`."
1061
+ },
1062
+ "rows": {
1063
+ "type": "array",
1064
+ "items": {},
1065
+ "description": "The first result set of a live query, which the server sends when the subscription names a registered read."
1066
+ }
1067
+ },
1068
+ "required": [
1069
+ "type",
1070
+ "id"
1071
+ ],
1072
+ "description": "The server's confirmation that a subscription is open, with the cursor and the epoch that it streams from."
1073
+ },
1074
+ "WSSubscribeMessage": {
1075
+ "type": "object",
1076
+ "properties": {
1077
+ "type": {
1078
+ "type": "string",
1079
+ "const": "subscribe",
1080
+ "description": "The message type for a subscribe."
1081
+ },
1082
+ "id": {
1083
+ "type": "string",
1084
+ "description": "The identifier that the client chooses, which the server repeats in its replies and change events."
1085
+ },
1086
+ "table": {
1087
+ "type": "string",
1088
+ "description": "The table to subscribe to."
1089
+ },
1090
+ "tables": {
1091
+ "type": "array",
1092
+ "items": {
1093
+ "type": "string"
1094
+ },
1095
+ "description": "Several tables to subscribe to at once."
1096
+ },
1097
+ "filter": {
1098
+ "type": "object",
1099
+ "additionalProperties": true,
1100
+ "description": "Narrows the subscription to rows whose columns equal these values."
1101
+ },
1102
+ "name": {
1103
+ "type": "string",
1104
+ "description": "The name of a registered read, so that the server opens a live query on that read."
1105
+ },
1106
+ "args": {
1107
+ "type": "object",
1108
+ "additionalProperties": true,
1109
+ "description": "The arguments that the registered read takes."
1110
+ },
1111
+ "registryDigest": {
1112
+ "type": "string",
1113
+ "description": "The digest of the operation registry that the client built its live query against."
1114
+ },
1115
+ "sinceSeq": {
1116
+ "type": "string",
1117
+ "description": "The highest `seq` that the client has processed. When it is present, the server replays every retained change with a greater seq before it sends live events, so that a reconnecting subscriber receives the changes that it missed. When the server answers with `resync: true`, it skips the replay. The client sends the value as a decimal string, so that a value beyond `Number.MAX_SAFE_INTEGER` stays exact."
1118
+ },
1119
+ "epoch": {
1120
+ "type": "string",
1121
+ "description": "The `epoch` that the server reported with this cursor. A `sinceSeq` is valid only within the sequence space that produced it, so when this epoch differs from the server's own, the server answers with `resync: true` and skips the replay."
1122
+ },
1123
+ "deviceId": {
1124
+ "type": "string",
1125
+ "description": "The device's identifier, which makes this a device-sync subscription."
1126
+ },
1127
+ "schemaVersion": {
1128
+ "type": "number",
1129
+ "description": "The schema version of the device's local database, which the server checks before it opens the stream."
1130
+ },
1131
+ "stagedStream": {
1132
+ "type": "boolean",
1133
+ "description": "Set to true when this device stages pulled changes durably and acknowledges staged sequences. The server then packs several events into each `changes` frame and can pause the stream at any event. The server accepts it only with `deviceId`."
1134
+ }
1135
+ },
1136
+ "required": [
1137
+ "type",
1138
+ "id"
1139
+ ],
1140
+ "description": "A request to open a change subscription on one or more tables, or a live query on a registered read."
1141
+ },
1142
+ "WSTransactionMessage": {
1143
+ "type": "object",
1144
+ "properties": {
1145
+ "type": {
1146
+ "type": "string",
1147
+ "const": "transaction",
1148
+ "description": "The message type for a transaction."
1149
+ },
1150
+ "id": {
1151
+ "type": "string",
1152
+ "description": "The identifier that the client chooses, which the server repeats in its reply."
1153
+ },
1154
+ "statements": {
1155
+ "type": "array",
1156
+ "items": {
1157
+ "$ref": "#/components/schemas/TransactionStatement"
1158
+ },
1159
+ "description": "The statements to execute, in order."
1160
+ },
1161
+ "writeConcern": {
1162
+ "$ref": "#/components/schemas/WriteConcern",
1163
+ "description": "The acknowledgements that the server waits for before it confirms the transaction."
1164
+ }
1165
+ },
1166
+ "required": [
1167
+ "type",
1168
+ "id",
1169
+ "statements"
1170
+ ],
1171
+ "description": "A request to execute every statement in one server-side transaction, to which the server replies once with all the results. The server makes no round trip to the client between statements, so it holds the single writer lock only while the statements execute."
1172
+ },
1173
+ "WSUnsubscribedMessage": {
1174
+ "type": "object",
1175
+ "properties": {
1176
+ "type": {
1177
+ "type": "string",
1178
+ "const": "unsubscribed",
1179
+ "description": "The message type for an unsubscribe confirmation."
1180
+ },
1181
+ "id": {
1182
+ "type": "string",
1183
+ "description": "The identifier of the subscription that has ended."
1184
+ }
1185
+ },
1186
+ "required": [
1187
+ "type",
1188
+ "id"
1189
+ ],
1190
+ "description": "The server's confirmation that a subscription has ended."
1191
+ },
1192
+ "WSUnsubscribeMessage": {
1193
+ "type": "object",
1194
+ "properties": {
1195
+ "type": {
1196
+ "type": "string",
1197
+ "const": "unsubscribe",
1198
+ "description": "The message type for an unsubscribe."
1199
+ },
1200
+ "id": {
1201
+ "type": "string",
1202
+ "description": "The identifier of the subscription to end."
1203
+ }
1204
+ },
1205
+ "required": [
1206
+ "type",
1207
+ "id"
1208
+ ],
1209
+ "description": "A request to end a subscription."
1210
+ },
1211
+ "WSWireChangeEvent": {
1212
+ "type": "object",
1213
+ "properties": {
1214
+ "type": {
1215
+ "type": "string",
1216
+ "enum": [
1217
+ "insert",
1218
+ "update",
1219
+ "delete"
1220
+ ],
1221
+ "description": "Whether the row was inserted, updated, or deleted."
1222
+ },
1223
+ "table": {
1224
+ "type": "string",
1225
+ "description": "The table of the row."
1226
+ },
1227
+ "row": {
1228
+ "type": "object",
1229
+ "additionalProperties": true,
1230
+ "description": "The row's values after the change."
1231
+ },
1232
+ "oldRow": {
1233
+ "type": "object",
1234
+ "additionalProperties": true,
1235
+ "description": "The row's values before an update or a delete."
1236
+ },
1237
+ "seq": {
1238
+ "type": "string",
1239
+ "description": "The position of this change in the database's change log, as a decimal string."
1240
+ },
1241
+ "timestamp": {
1242
+ "type": "number",
1243
+ "description": "Milliseconds since the Unix epoch, from when the database recorded the change."
1244
+ },
1245
+ "hlc": {
1246
+ "type": "string",
1247
+ "description": "The hybrid logical clock stamp that the writing node gave this change."
1248
+ },
1249
+ "origin": {
1250
+ "type": "string",
1251
+ "description": "The identifier of the node or device that wrote the change."
1252
+ },
1253
+ "rowId": {
1254
+ "type": "string",
1255
+ "description": "The primary key of the changed row, encoded as a string."
1256
+ },
1257
+ "txId": {
1258
+ "type": "string",
1259
+ "description": "The identifier of the transaction that made this change."
1260
+ },
1261
+ "txEnd": {
1262
+ "type": "boolean",
1263
+ "description": "Set on the last change of a transaction."
1264
+ }
1265
+ },
1266
+ "required": [
1267
+ "type",
1268
+ "table",
1269
+ "row",
1270
+ "seq",
1271
+ "timestamp"
1272
+ ],
1273
+ "description": "One change event in its wire form, with the sequence as a decimal string, so that JSON keeps a value beyond the safe integer range exact."
1274
+ }
1275
+ },
1276
+ "messages": {
1277
+ "subscribe": {
1278
+ "name": "subscribe",
1279
+ "title": "WSSubscribeMessage",
1280
+ "summary": "Opens a change subscription on a table, resuming after sinceSeq when the server retains that history, or a live query on the registered read that name gives.",
1281
+ "contentType": "application/json",
1282
+ "payload": {
1283
+ "$ref": "#/components/schemas/WSSubscribeMessage"
1284
+ }
1285
+ },
1286
+ "unsubscribe": {
1287
+ "name": "unsubscribe",
1288
+ "title": "WSUnsubscribeMessage",
1289
+ "summary": "Ends the subscription or the live query that id gives.",
1290
+ "contentType": "application/json",
1291
+ "payload": {
1292
+ "$ref": "#/components/schemas/WSUnsubscribeMessage"
1293
+ }
1294
+ },
1295
+ "ack": {
1296
+ "name": "ack",
1297
+ "title": "WSAckMessage",
1298
+ "summary": "Records that a device has stored every change up to seq, on a server that accepts device sync.",
1299
+ "contentType": "application/json",
1300
+ "payload": {
1301
+ "$ref": "#/components/schemas/WSAckMessage"
1302
+ }
1303
+ },
1304
+ "query": {
1305
+ "name": "query",
1306
+ "title": "WSQueryMessage",
1307
+ "summary": "Runs a read statement, on a server that accepts SQL, or the registered read that name gives.",
1308
+ "contentType": "application/json",
1309
+ "payload": {
1310
+ "$ref": "#/components/schemas/WSQueryMessage"
1311
+ }
1312
+ },
1313
+ "execute": {
1314
+ "name": "execute",
1315
+ "title": "WSExecuteMessage",
1316
+ "summary": "Runs a write statement, on a server that accepts SQL, or the registered write that name gives.",
1317
+ "contentType": "application/json",
1318
+ "payload": {
1319
+ "$ref": "#/components/schemas/WSExecuteMessage"
1320
+ }
1321
+ },
1322
+ "transaction": {
1323
+ "name": "transaction",
1324
+ "title": "WSTransactionMessage",
1325
+ "summary": "Runs every statement in one transaction, on a server that accepts SQL.",
1326
+ "contentType": "application/json",
1327
+ "payload": {
1328
+ "$ref": "#/components/schemas/WSTransactionMessage"
1329
+ }
1330
+ },
1331
+ "batch": {
1332
+ "name": "batch",
1333
+ "title": "WSBatchMessage",
1334
+ "summary": "Runs one statement once for each parameter set, in one transaction, on a server that accepts SQL.",
1335
+ "contentType": "application/json",
1336
+ "payload": {
1337
+ "$ref": "#/components/schemas/WSBatchMessage"
1338
+ }
1339
+ },
1340
+ "load": {
1341
+ "name": "load",
1342
+ "title": "WSLoadMessage",
1343
+ "summary": "Loads rows while the writer runs at relaxed durability, on a server that accepts SQL.",
1344
+ "contentType": "application/json",
1345
+ "payload": {
1346
+ "$ref": "#/components/schemas/WSLoadMessage"
1347
+ }
1348
+ },
1349
+ "subscribed": {
1350
+ "name": "subscribed",
1351
+ "title": "WSSubscribedMessage",
1352
+ "summary": "Confirms a subscription, with the sequence it is live from, or the first rows of a live query.",
1353
+ "contentType": "application/json",
1354
+ "payload": {
1355
+ "$ref": "#/components/schemas/WSSubscribedMessage"
1356
+ }
1357
+ },
1358
+ "unsubscribed": {
1359
+ "name": "unsubscribed",
1360
+ "title": "WSUnsubscribedMessage",
1361
+ "summary": "Confirms that a subscription has ended.",
1362
+ "contentType": "application/json",
1363
+ "payload": {
1364
+ "$ref": "#/components/schemas/WSUnsubscribedMessage"
1365
+ }
1366
+ },
1367
+ "change": {
1368
+ "name": "change",
1369
+ "title": "WSChangeMessage",
1370
+ "summary": "Delivers one change to a subscribed table.",
1371
+ "contentType": "application/json",
1372
+ "payload": {
1373
+ "$ref": "#/components/schemas/WSChangeMessage"
1374
+ }
1375
+ },
1376
+ "changes": {
1377
+ "name": "changes",
1378
+ "title": "WSChangesMessage",
1379
+ "summary": "Delivers several changes in ascending seq order, on a device subscription that asks for stagedStream.",
1380
+ "contentType": "application/json",
1381
+ "payload": {
1382
+ "$ref": "#/components/schemas/WSChangesMessage"
1383
+ }
1384
+ },
1385
+ "live": {
1386
+ "name": "live",
1387
+ "title": "WSLiveMessage",
1388
+ "summary": "Moves a live query to its new result with operations to apply in order, replaces its rows, or states that the server is reading it again.",
1389
+ "contentType": "application/json",
1390
+ "payload": {
1391
+ "$ref": "#/components/schemas/WSLiveMessage"
1392
+ }
1393
+ },
1394
+ "result": {
1395
+ "name": "result",
1396
+ "title": "WSResultMessage",
1397
+ "summary": "Answers a read, a write, a transaction, a batch, a load, or an ack.",
1398
+ "contentType": "application/json",
1399
+ "payload": {
1400
+ "$ref": "#/components/schemas/WSResultMessage"
1401
+ }
1402
+ },
1403
+ "error": {
1404
+ "name": "error",
1405
+ "title": "WSErrorMessage",
1406
+ "summary": "Reports that a request failed, with the code that says why, or that the connection cannot open.",
1407
+ "contentType": "application/json",
1408
+ "payload": {
1409
+ "$ref": "#/components/schemas/WSErrorMessage"
1410
+ }
1411
+ }
1412
+ }
1413
+ }
1414
+ }