yarramate 1.25.2 → 1.26.0
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.
- package/README.md +6 -2
- package/dist/adapters/mcp-cli.d.ts +45 -1
- package/dist/adapters/mcp-cli.js +297 -50
- package/dist/adapters/visual/protocol-contract.d.ts +29 -2
- package/dist/adapters/visual/session-server.js +27 -6
- package/dist/adapters/visual/session-store.js +1 -0
- package/dist/adapters/visual/wire.d.ts +18 -0
- package/dist/adapters/visual/workspace-model.js +11 -1
- package/dist/visual-app/assets/{elk.bundled-ZYNFKdcv.js → elk.bundled-CYZFv-C6.js} +1 -1
- package/dist/visual-app/assets/{index-CMqEmjU2.js → index-CRYHv5jy.js} +6 -2
- package/dist/visual-app/assets/index-DdE5s692.css +1 -0
- package/dist/visual-app/index.html +2 -2
- package/dist/visual-app-lib/editor.js +7812 -7485
- package/dist/visual-app-lib/styles.css +1 -1
- package/dist/visual-app-lib/types/adapters/visual/protocol-contract.d.ts +29 -2
- package/dist/visual-app-lib/types/adapters/visual/wire.d.ts +18 -0
- package/dist/visual-app-lib/types/visual-app/App.d.ts +7 -1
- package/dist/visual-app-lib/types/visual-app/context-menu-model.d.ts +36 -0
- package/dist/visual-app-lib/types/visual-app/mount.d.ts +9 -1
- package/dist/visual-app-lib/types/visual-app/open-questions.d.ts +18 -2
- package/dist/visual-app-lib/types/visual-app/question-verbs.d.ts +54 -0
- package/dist/visual-app-lib/types/visual-app/session-client.d.ts +3 -0
- package/dist/visual-app-lib/types/visual-app/state.d.ts +4 -1
- package/dist/visual-app-lib/types/visual-app/workspace-state.d.ts +13 -0
- package/docs/CONSUMING-YARRAMATE.md +17 -5
- package/package.json +1 -1
- package/schema/yarramate-visual-event.schema.json +324 -73
- package/schema/yarramate-visual-response.schema.json +230 -56
- package/skills/yarramate-architecture/SKILL.md +6 -2
- package/skills/yarramate-architecture/references/visual-conversations.md +21 -3
- package/dist/visual-app/assets/index-CJVWkpLt.css +0 -1
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"enum": [
|
|
32
32
|
"chat.message",
|
|
33
33
|
"choice.selected",
|
|
34
|
+
"question.delegate",
|
|
34
35
|
"view.navigate",
|
|
35
36
|
"filter.query",
|
|
36
37
|
"changeset.commit",
|
|
@@ -50,74 +51,152 @@
|
|
|
50
51
|
"oneOf": [
|
|
51
52
|
{
|
|
52
53
|
"type": "object",
|
|
53
|
-
"required": [
|
|
54
|
+
"required": [
|
|
55
|
+
"type",
|
|
56
|
+
"payload"
|
|
57
|
+
],
|
|
54
58
|
"properties": {
|
|
55
|
-
"type": {
|
|
56
|
-
|
|
59
|
+
"type": {
|
|
60
|
+
"const": "chat.message"
|
|
61
|
+
},
|
|
62
|
+
"payload": {
|
|
63
|
+
"$ref": "#/$defs/chatMessagePayload"
|
|
64
|
+
}
|
|
57
65
|
}
|
|
58
66
|
},
|
|
59
67
|
{
|
|
60
68
|
"type": "object",
|
|
61
|
-
"required": [
|
|
69
|
+
"required": [
|
|
70
|
+
"type",
|
|
71
|
+
"payload"
|
|
72
|
+
],
|
|
62
73
|
"properties": {
|
|
63
|
-
"type": {
|
|
64
|
-
|
|
74
|
+
"type": {
|
|
75
|
+
"const": "choice.selected"
|
|
76
|
+
},
|
|
77
|
+
"payload": {
|
|
78
|
+
"$ref": "#/$defs/choiceSelectedPayload"
|
|
79
|
+
}
|
|
65
80
|
}
|
|
66
81
|
},
|
|
67
82
|
{
|
|
68
83
|
"type": "object",
|
|
69
|
-
"required": [
|
|
84
|
+
"required": [
|
|
85
|
+
"type",
|
|
86
|
+
"payload"
|
|
87
|
+
],
|
|
70
88
|
"properties": {
|
|
71
|
-
"type": {
|
|
72
|
-
|
|
89
|
+
"type": {
|
|
90
|
+
"const": "question.delegate"
|
|
91
|
+
},
|
|
92
|
+
"payload": {
|
|
93
|
+
"$ref": "#/$defs/questionDelegatePayload"
|
|
94
|
+
}
|
|
73
95
|
}
|
|
74
96
|
},
|
|
75
97
|
{
|
|
76
98
|
"type": "object",
|
|
77
|
-
"required": [
|
|
99
|
+
"required": [
|
|
100
|
+
"type",
|
|
101
|
+
"payload"
|
|
102
|
+
],
|
|
78
103
|
"properties": {
|
|
79
|
-
"type": {
|
|
80
|
-
|
|
104
|
+
"type": {
|
|
105
|
+
"const": "view.navigate"
|
|
106
|
+
},
|
|
107
|
+
"payload": {
|
|
108
|
+
"$ref": "#/$defs/viewNavigatePayload"
|
|
109
|
+
}
|
|
81
110
|
}
|
|
82
111
|
},
|
|
83
112
|
{
|
|
84
113
|
"type": "object",
|
|
85
|
-
"required": [
|
|
114
|
+
"required": [
|
|
115
|
+
"type",
|
|
116
|
+
"payload"
|
|
117
|
+
],
|
|
86
118
|
"properties": {
|
|
87
|
-
"type": {
|
|
88
|
-
|
|
119
|
+
"type": {
|
|
120
|
+
"const": "filter.query"
|
|
121
|
+
},
|
|
122
|
+
"payload": {
|
|
123
|
+
"$ref": "#/$defs/filterQueryPayload"
|
|
124
|
+
}
|
|
89
125
|
}
|
|
90
126
|
},
|
|
91
127
|
{
|
|
92
128
|
"type": "object",
|
|
93
|
-
"required": [
|
|
129
|
+
"required": [
|
|
130
|
+
"type",
|
|
131
|
+
"payload"
|
|
132
|
+
],
|
|
94
133
|
"properties": {
|
|
95
|
-
"type": {
|
|
96
|
-
|
|
134
|
+
"type": {
|
|
135
|
+
"const": "changeset.commit"
|
|
136
|
+
},
|
|
137
|
+
"payload": {
|
|
138
|
+
"$ref": "#/$defs/changesetCommitPayload"
|
|
139
|
+
}
|
|
97
140
|
}
|
|
98
141
|
},
|
|
99
142
|
{
|
|
100
143
|
"type": "object",
|
|
101
|
-
"required": [
|
|
144
|
+
"required": [
|
|
145
|
+
"type",
|
|
146
|
+
"payload"
|
|
147
|
+
],
|
|
102
148
|
"properties": {
|
|
103
|
-
"type": {
|
|
104
|
-
|
|
149
|
+
"type": {
|
|
150
|
+
"const": "layout.save"
|
|
151
|
+
},
|
|
152
|
+
"payload": {
|
|
153
|
+
"$ref": "#/$defs/layoutSavePayload"
|
|
154
|
+
}
|
|
105
155
|
}
|
|
106
156
|
},
|
|
107
157
|
{
|
|
108
158
|
"type": "object",
|
|
109
|
-
"required": [
|
|
159
|
+
"required": [
|
|
160
|
+
"type",
|
|
161
|
+
"payload"
|
|
162
|
+
],
|
|
110
163
|
"properties": {
|
|
111
|
-
"type": {
|
|
112
|
-
|
|
164
|
+
"type": {
|
|
165
|
+
"const": "session.end"
|
|
166
|
+
},
|
|
167
|
+
"payload": {
|
|
168
|
+
"$ref": "#/$defs/sessionEndPayload"
|
|
169
|
+
}
|
|
113
170
|
}
|
|
114
171
|
},
|
|
115
172
|
{
|
|
116
173
|
"type": "object",
|
|
117
|
-
"required": [
|
|
174
|
+
"required": [
|
|
175
|
+
"type",
|
|
176
|
+
"payload"
|
|
177
|
+
],
|
|
118
178
|
"properties": {
|
|
119
|
-
"type": {
|
|
120
|
-
|
|
179
|
+
"type": {
|
|
180
|
+
"const": "browser.connected"
|
|
181
|
+
},
|
|
182
|
+
"payload": {
|
|
183
|
+
"$ref": "#/$defs/browserConnectedPayload"
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"type": "object",
|
|
189
|
+
"required": [
|
|
190
|
+
"type",
|
|
191
|
+
"payload"
|
|
192
|
+
],
|
|
193
|
+
"properties": {
|
|
194
|
+
"type": {
|
|
195
|
+
"const": "browser.disconnected"
|
|
196
|
+
},
|
|
197
|
+
"payload": {
|
|
198
|
+
"$ref": "#/$defs/browserDisconnectedPayload"
|
|
199
|
+
}
|
|
121
200
|
}
|
|
122
201
|
}
|
|
123
202
|
],
|
|
@@ -146,7 +225,9 @@
|
|
|
146
225
|
"chatMessagePayload": {
|
|
147
226
|
"type": "object",
|
|
148
227
|
"additionalProperties": false,
|
|
149
|
-
"required": [
|
|
228
|
+
"required": [
|
|
229
|
+
"text"
|
|
230
|
+
],
|
|
150
231
|
"properties": {
|
|
151
232
|
"text": {
|
|
152
233
|
"type": "string",
|
|
@@ -158,27 +239,41 @@
|
|
|
158
239
|
"choiceSelectedPayload": {
|
|
159
240
|
"type": "object",
|
|
160
241
|
"additionalProperties": false,
|
|
161
|
-
"required": [
|
|
242
|
+
"required": [
|
|
243
|
+
"choiceId",
|
|
244
|
+
"optionId"
|
|
245
|
+
],
|
|
162
246
|
"properties": {
|
|
163
|
-
"choiceId": {
|
|
164
|
-
|
|
247
|
+
"choiceId": {
|
|
248
|
+
"$ref": "#/$defs/shortId"
|
|
249
|
+
},
|
|
250
|
+
"optionId": {
|
|
251
|
+
"$ref": "#/$defs/shortId"
|
|
252
|
+
}
|
|
165
253
|
}
|
|
166
254
|
},
|
|
167
255
|
"viewNavigatePayload": {
|
|
168
256
|
"type": "object",
|
|
169
257
|
"additionalProperties": false,
|
|
170
|
-
"required": [
|
|
258
|
+
"required": [
|
|
259
|
+
"viewId",
|
|
260
|
+
"requiresAttention"
|
|
261
|
+
],
|
|
171
262
|
"properties": {
|
|
172
263
|
"viewId": {
|
|
173
264
|
"$ref": "https://yarramate.org/schema/visual-model/v1#/$defs/viewId"
|
|
174
265
|
},
|
|
175
|
-
"requiresAttention": {
|
|
266
|
+
"requiresAttention": {
|
|
267
|
+
"type": "boolean"
|
|
268
|
+
}
|
|
176
269
|
}
|
|
177
270
|
},
|
|
178
271
|
"filterQueryPayload": {
|
|
179
272
|
"type": "object",
|
|
180
273
|
"additionalProperties": false,
|
|
181
|
-
"required": [
|
|
274
|
+
"required": [
|
|
275
|
+
"query"
|
|
276
|
+
],
|
|
182
277
|
"properties": {
|
|
183
278
|
"query": {
|
|
184
279
|
"$ref": "https://yarramate.org/schema/projection/v1#/$defs/query"
|
|
@@ -187,7 +282,12 @@
|
|
|
187
282
|
"description": "The nesting the canvas is drawing with, when the browser knows it (#473). Only `query.instances` reads it, and it must: an instance's closure IS the containment tree, so resolving it under a different nesting than the canvas answers a different question. Optional, so a browser that does not send it behaves exactly as before.",
|
|
188
283
|
"type": "array",
|
|
189
284
|
"uniqueItems": true,
|
|
190
|
-
"items": {
|
|
285
|
+
"items": {
|
|
286
|
+
"enum": [
|
|
287
|
+
"composition",
|
|
288
|
+
"assignment"
|
|
289
|
+
]
|
|
290
|
+
}
|
|
191
291
|
}
|
|
192
292
|
}
|
|
193
293
|
},
|
|
@@ -197,9 +297,15 @@
|
|
|
197
297
|
{
|
|
198
298
|
"type": "object",
|
|
199
299
|
"additionalProperties": false,
|
|
200
|
-
"required": [
|
|
300
|
+
"required": [
|
|
301
|
+
"op",
|
|
302
|
+
"path",
|
|
303
|
+
"projection"
|
|
304
|
+
],
|
|
201
305
|
"properties": {
|
|
202
|
-
"op": {
|
|
306
|
+
"op": {
|
|
307
|
+
"const": "write-view"
|
|
308
|
+
},
|
|
203
309
|
"path": {
|
|
204
310
|
"$ref": "https://yarramate.org/schema/visual-model/v1#/$defs/relativePath"
|
|
205
311
|
},
|
|
@@ -211,9 +317,14 @@
|
|
|
211
317
|
{
|
|
212
318
|
"type": "object",
|
|
213
319
|
"additionalProperties": false,
|
|
214
|
-
"required": [
|
|
320
|
+
"required": [
|
|
321
|
+
"op",
|
|
322
|
+
"path"
|
|
323
|
+
],
|
|
215
324
|
"properties": {
|
|
216
|
-
"op": {
|
|
325
|
+
"op": {
|
|
326
|
+
"const": "delete-view"
|
|
327
|
+
},
|
|
217
328
|
"path": {
|
|
218
329
|
"$ref": "https://yarramate.org/schema/visual-model/v1#/$defs/relativePath"
|
|
219
330
|
}
|
|
@@ -224,13 +335,27 @@
|
|
|
224
335
|
"changesetCommitPayload": {
|
|
225
336
|
"type": "object",
|
|
226
337
|
"additionalProperties": false,
|
|
227
|
-
"required": [
|
|
338
|
+
"required": [
|
|
339
|
+
"operations",
|
|
340
|
+
"viewOperations",
|
|
341
|
+
"sourceDigests"
|
|
342
|
+
],
|
|
228
343
|
"anyOf": [
|
|
229
344
|
{
|
|
230
|
-
"properties": {
|
|
345
|
+
"properties": {
|
|
346
|
+
"operations": {
|
|
347
|
+
"type": "array",
|
|
348
|
+
"minItems": 1
|
|
349
|
+
}
|
|
350
|
+
}
|
|
231
351
|
},
|
|
232
352
|
{
|
|
233
|
-
"properties": {
|
|
353
|
+
"properties": {
|
|
354
|
+
"viewOperations": {
|
|
355
|
+
"type": "array",
|
|
356
|
+
"minItems": 1
|
|
357
|
+
}
|
|
358
|
+
}
|
|
234
359
|
}
|
|
235
360
|
],
|
|
236
361
|
"properties": {
|
|
@@ -243,7 +368,9 @@
|
|
|
243
368
|
"viewOperations": {
|
|
244
369
|
"type": "array",
|
|
245
370
|
"maxItems": 4096,
|
|
246
|
-
"items": {
|
|
371
|
+
"items": {
|
|
372
|
+
"$ref": "#/$defs/viewOperation"
|
|
373
|
+
}
|
|
247
374
|
},
|
|
248
375
|
"sourceDigests": {
|
|
249
376
|
"type": "object",
|
|
@@ -261,7 +388,10 @@
|
|
|
261
388
|
"description": "What a drag-save carries: the positions, and beside them the fold state (#473) and the routes (ADR 0147) the sidecar keeps. The three optional halves are the sidecar's own definitions, so what the browser may send and what the file may hold cannot drift apart.",
|
|
262
389
|
"type": "object",
|
|
263
390
|
"additionalProperties": false,
|
|
264
|
-
"required": [
|
|
391
|
+
"required": [
|
|
392
|
+
"projectionId",
|
|
393
|
+
"positions"
|
|
394
|
+
],
|
|
265
395
|
"properties": {
|
|
266
396
|
"projectionId": {
|
|
267
397
|
"$ref": "https://yarramate.org/schema/projection/v1#/$defs/id"
|
|
@@ -295,34 +425,51 @@
|
|
|
295
425
|
"description": "Terminal event the runtime journals. Every termination reason is the runtime's to choose; the browser may only request the user-ended one.",
|
|
296
426
|
"type": "object",
|
|
297
427
|
"additionalProperties": false,
|
|
298
|
-
"required": [
|
|
428
|
+
"required": [
|
|
429
|
+
"reason"
|
|
430
|
+
],
|
|
299
431
|
"properties": {
|
|
300
|
-
"reason": {
|
|
432
|
+
"reason": {
|
|
433
|
+
"$ref": "#/$defs/terminationReason"
|
|
434
|
+
}
|
|
301
435
|
}
|
|
302
436
|
},
|
|
303
437
|
"browserSessionEndPayload": {
|
|
304
438
|
"description": "End as an untrusted browser may ask for it. A browser cannot claim a timeout, a child failure, or a cancellation it does not own.",
|
|
305
439
|
"type": "object",
|
|
306
440
|
"additionalProperties": false,
|
|
307
|
-
"required": [
|
|
441
|
+
"required": [
|
|
442
|
+
"reason"
|
|
443
|
+
],
|
|
308
444
|
"properties": {
|
|
309
|
-
"reason": {
|
|
445
|
+
"reason": {
|
|
446
|
+
"const": "user-ended"
|
|
447
|
+
}
|
|
310
448
|
}
|
|
311
449
|
},
|
|
312
450
|
"browserConnectedPayload": {
|
|
313
451
|
"type": "object",
|
|
314
452
|
"additionalProperties": false,
|
|
315
|
-
"required": [
|
|
453
|
+
"required": [
|
|
454
|
+
"connectionId"
|
|
455
|
+
],
|
|
316
456
|
"properties": {
|
|
317
|
-
"connectionId": {
|
|
457
|
+
"connectionId": {
|
|
458
|
+
"$ref": "#/$defs/shortId"
|
|
459
|
+
}
|
|
318
460
|
}
|
|
319
461
|
},
|
|
320
462
|
"browserDisconnectedPayload": {
|
|
321
463
|
"type": "object",
|
|
322
464
|
"additionalProperties": false,
|
|
323
|
-
"required": [
|
|
465
|
+
"required": [
|
|
466
|
+
"connectionId",
|
|
467
|
+
"code"
|
|
468
|
+
],
|
|
324
469
|
"properties": {
|
|
325
|
-
"connectionId": {
|
|
470
|
+
"connectionId": {
|
|
471
|
+
"$ref": "#/$defs/shortId"
|
|
472
|
+
},
|
|
326
473
|
"code": {
|
|
327
474
|
"type": "integer",
|
|
328
475
|
"minimum": 1000,
|
|
@@ -336,88 +483,192 @@
|
|
|
336
483
|
{
|
|
337
484
|
"type": "object",
|
|
338
485
|
"additionalProperties": false,
|
|
339
|
-
"required": [
|
|
486
|
+
"required": [
|
|
487
|
+
"type",
|
|
488
|
+
"lastAcknowledgedSequence",
|
|
489
|
+
"payload"
|
|
490
|
+
],
|
|
340
491
|
"properties": {
|
|
341
|
-
"type": {
|
|
492
|
+
"type": {
|
|
493
|
+
"const": "chat.message"
|
|
494
|
+
},
|
|
342
495
|
"lastAcknowledgedSequence": {
|
|
343
496
|
"$ref": "#/$defs/acknowledgedSequence"
|
|
344
497
|
},
|
|
345
|
-
"payload": {
|
|
498
|
+
"payload": {
|
|
499
|
+
"$ref": "#/$defs/chatMessagePayload"
|
|
500
|
+
}
|
|
346
501
|
}
|
|
347
502
|
},
|
|
348
503
|
{
|
|
349
504
|
"type": "object",
|
|
350
505
|
"additionalProperties": false,
|
|
351
|
-
"required": [
|
|
506
|
+
"required": [
|
|
507
|
+
"type",
|
|
508
|
+
"lastAcknowledgedSequence",
|
|
509
|
+
"payload"
|
|
510
|
+
],
|
|
352
511
|
"properties": {
|
|
353
|
-
"type": {
|
|
512
|
+
"type": {
|
|
513
|
+
"const": "choice.selected"
|
|
514
|
+
},
|
|
354
515
|
"lastAcknowledgedSequence": {
|
|
355
516
|
"$ref": "#/$defs/acknowledgedSequence"
|
|
356
517
|
},
|
|
357
|
-
"payload": {
|
|
518
|
+
"payload": {
|
|
519
|
+
"$ref": "#/$defs/choiceSelectedPayload"
|
|
520
|
+
}
|
|
358
521
|
}
|
|
359
522
|
},
|
|
360
523
|
{
|
|
361
524
|
"type": "object",
|
|
362
525
|
"additionalProperties": false,
|
|
363
|
-
"required": [
|
|
526
|
+
"required": [
|
|
527
|
+
"type",
|
|
528
|
+
"lastAcknowledgedSequence",
|
|
529
|
+
"payload"
|
|
530
|
+
],
|
|
364
531
|
"properties": {
|
|
365
|
-
"type": {
|
|
532
|
+
"type": {
|
|
533
|
+
"const": "question.delegate"
|
|
534
|
+
},
|
|
366
535
|
"lastAcknowledgedSequence": {
|
|
367
536
|
"$ref": "#/$defs/acknowledgedSequence"
|
|
368
537
|
},
|
|
369
|
-
"payload": {
|
|
538
|
+
"payload": {
|
|
539
|
+
"$ref": "#/$defs/questionDelegatePayload"
|
|
540
|
+
}
|
|
370
541
|
}
|
|
371
542
|
},
|
|
372
543
|
{
|
|
373
544
|
"type": "object",
|
|
374
545
|
"additionalProperties": false,
|
|
375
|
-
"required": [
|
|
546
|
+
"required": [
|
|
547
|
+
"type",
|
|
548
|
+
"lastAcknowledgedSequence",
|
|
549
|
+
"payload"
|
|
550
|
+
],
|
|
376
551
|
"properties": {
|
|
377
|
-
"type": {
|
|
552
|
+
"type": {
|
|
553
|
+
"const": "view.navigate"
|
|
554
|
+
},
|
|
378
555
|
"lastAcknowledgedSequence": {
|
|
379
556
|
"$ref": "#/$defs/acknowledgedSequence"
|
|
380
557
|
},
|
|
381
|
-
"payload": {
|
|
558
|
+
"payload": {
|
|
559
|
+
"$ref": "#/$defs/viewNavigatePayload"
|
|
560
|
+
}
|
|
382
561
|
}
|
|
383
562
|
},
|
|
384
563
|
{
|
|
385
564
|
"type": "object",
|
|
386
565
|
"additionalProperties": false,
|
|
387
|
-
"required": [
|
|
566
|
+
"required": [
|
|
567
|
+
"type",
|
|
568
|
+
"lastAcknowledgedSequence",
|
|
569
|
+
"payload"
|
|
570
|
+
],
|
|
388
571
|
"properties": {
|
|
389
|
-
"type": {
|
|
572
|
+
"type": {
|
|
573
|
+
"const": "filter.query"
|
|
574
|
+
},
|
|
390
575
|
"lastAcknowledgedSequence": {
|
|
391
576
|
"$ref": "#/$defs/acknowledgedSequence"
|
|
392
577
|
},
|
|
393
|
-
"payload": {
|
|
578
|
+
"payload": {
|
|
579
|
+
"$ref": "#/$defs/filterQueryPayload"
|
|
580
|
+
}
|
|
394
581
|
}
|
|
395
582
|
},
|
|
396
583
|
{
|
|
397
584
|
"type": "object",
|
|
398
585
|
"additionalProperties": false,
|
|
399
|
-
"required": [
|
|
586
|
+
"required": [
|
|
587
|
+
"type",
|
|
588
|
+
"lastAcknowledgedSequence",
|
|
589
|
+
"payload"
|
|
590
|
+
],
|
|
400
591
|
"properties": {
|
|
401
|
-
"type": {
|
|
592
|
+
"type": {
|
|
593
|
+
"const": "changeset.commit"
|
|
594
|
+
},
|
|
402
595
|
"lastAcknowledgedSequence": {
|
|
403
596
|
"$ref": "#/$defs/acknowledgedSequence"
|
|
404
597
|
},
|
|
405
|
-
"payload": {
|
|
598
|
+
"payload": {
|
|
599
|
+
"$ref": "#/$defs/changesetCommitPayload"
|
|
600
|
+
}
|
|
406
601
|
}
|
|
407
602
|
},
|
|
408
603
|
{
|
|
409
604
|
"type": "object",
|
|
410
605
|
"additionalProperties": false,
|
|
411
|
-
"required": [
|
|
606
|
+
"required": [
|
|
607
|
+
"type",
|
|
608
|
+
"lastAcknowledgedSequence",
|
|
609
|
+
"payload"
|
|
610
|
+
],
|
|
412
611
|
"properties": {
|
|
413
|
-
"type": {
|
|
612
|
+
"type": {
|
|
613
|
+
"const": "layout.save"
|
|
614
|
+
},
|
|
414
615
|
"lastAcknowledgedSequence": {
|
|
415
616
|
"$ref": "#/$defs/acknowledgedSequence"
|
|
416
617
|
},
|
|
417
|
-
"payload": {
|
|
618
|
+
"payload": {
|
|
619
|
+
"$ref": "#/$defs/layoutSavePayload"
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
},
|
|
623
|
+
{
|
|
624
|
+
"type": "object",
|
|
625
|
+
"additionalProperties": false,
|
|
626
|
+
"required": [
|
|
627
|
+
"type",
|
|
628
|
+
"lastAcknowledgedSequence",
|
|
629
|
+
"payload"
|
|
630
|
+
],
|
|
631
|
+
"properties": {
|
|
632
|
+
"type": {
|
|
633
|
+
"const": "session.end"
|
|
634
|
+
},
|
|
635
|
+
"lastAcknowledgedSequence": {
|
|
636
|
+
"$ref": "#/$defs/acknowledgedSequence"
|
|
637
|
+
},
|
|
638
|
+
"payload": {
|
|
639
|
+
"$ref": "#/$defs/browserSessionEndPayload"
|
|
640
|
+
}
|
|
418
641
|
}
|
|
419
642
|
}
|
|
420
643
|
]
|
|
644
|
+
},
|
|
645
|
+
"questionDelegatePayload": {
|
|
646
|
+
"type": "object",
|
|
647
|
+
"additionalProperties": false,
|
|
648
|
+
"required": [
|
|
649
|
+
"questionId",
|
|
650
|
+
"subjectId",
|
|
651
|
+
"question"
|
|
652
|
+
],
|
|
653
|
+
"properties": {
|
|
654
|
+
"questionId": {
|
|
655
|
+
"type": "string",
|
|
656
|
+
"minLength": 1,
|
|
657
|
+
"maxLength": 400
|
|
658
|
+
},
|
|
659
|
+
"subjectId": {
|
|
660
|
+
"type": [
|
|
661
|
+
"string",
|
|
662
|
+
"null"
|
|
663
|
+
],
|
|
664
|
+
"maxLength": 400
|
|
665
|
+
},
|
|
666
|
+
"question": {
|
|
667
|
+
"type": "string",
|
|
668
|
+
"minLength": 1,
|
|
669
|
+
"maxLength": 4000
|
|
670
|
+
}
|
|
671
|
+
}
|
|
421
672
|
}
|
|
422
673
|
}
|
|
423
674
|
}
|