@basou/core 0.5.0 → 0.7.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.
@@ -0,0 +1,1415 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://basou.dev/schemas/0.1.0/session-import.schema.json",
4
+ "title": "Basou Session Import Payload",
5
+ "description": "The portable session payload consumed by `basou session import`.",
6
+ "type": "object",
7
+ "properties": {
8
+ "schema_version": {
9
+ "type": "string"
10
+ },
11
+ "session": {
12
+ "type": "object",
13
+ "properties": {
14
+ "id": {
15
+ "type": "string",
16
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
17
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
18
+ },
19
+ "label": {
20
+ "type": "string"
21
+ },
22
+ "task_id": {
23
+ "anyOf": [
24
+ {
25
+ "type": "string",
26
+ "pattern": "^task_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
27
+ "description": "Basou task id: `task_` followed by a 26-character Crockford Base32 ULID."
28
+ },
29
+ {
30
+ "type": "null"
31
+ }
32
+ ]
33
+ },
34
+ "workspace_id": {
35
+ "type": "string",
36
+ "pattern": "^ws_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
37
+ "description": "Basou ws id: `ws_` followed by a 26-character Crockford Base32 ULID."
38
+ },
39
+ "source": {
40
+ "type": "object",
41
+ "properties": {
42
+ "kind": {
43
+ "type": "string",
44
+ "enum": [
45
+ "claude-code-adapter",
46
+ "claude-code-import",
47
+ "codex-import",
48
+ "human",
49
+ "import",
50
+ "terminal"
51
+ ]
52
+ },
53
+ "version": {
54
+ "type": "string",
55
+ "const": "0.1.0"
56
+ },
57
+ "external_id": {
58
+ "type": "string"
59
+ }
60
+ },
61
+ "required": [
62
+ "kind",
63
+ "version"
64
+ ]
65
+ },
66
+ "started_at": {
67
+ "type": "string",
68
+ "format": "date-time",
69
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
70
+ },
71
+ "ended_at": {
72
+ "type": "string",
73
+ "format": "date-time",
74
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
75
+ },
76
+ "status": {
77
+ "type": "string",
78
+ "enum": [
79
+ "initialized",
80
+ "running",
81
+ "waiting_approval",
82
+ "completed",
83
+ "failed",
84
+ "interrupted",
85
+ "imported",
86
+ "archived"
87
+ ]
88
+ },
89
+ "working_directory": {
90
+ "type": "string",
91
+ "minLength": 1
92
+ },
93
+ "invocation": {
94
+ "type": "object",
95
+ "properties": {
96
+ "command": {
97
+ "type": "string",
98
+ "minLength": 1
99
+ },
100
+ "args": {
101
+ "type": "array",
102
+ "items": {
103
+ "type": "string"
104
+ }
105
+ },
106
+ "exit_code": {
107
+ "anyOf": [
108
+ {
109
+ "type": "integer",
110
+ "minimum": -9007199254740991,
111
+ "maximum": 9007199254740991
112
+ },
113
+ {
114
+ "type": "null"
115
+ }
116
+ ]
117
+ }
118
+ },
119
+ "required": [
120
+ "command",
121
+ "args",
122
+ "exit_code"
123
+ ]
124
+ },
125
+ "related_files": {
126
+ "default": [],
127
+ "type": "array",
128
+ "items": {
129
+ "type": "string"
130
+ }
131
+ },
132
+ "events_log": {
133
+ "type": "string"
134
+ },
135
+ "summary": {
136
+ "anyOf": [
137
+ {
138
+ "type": "string"
139
+ },
140
+ {
141
+ "type": "null"
142
+ }
143
+ ]
144
+ },
145
+ "metrics": {
146
+ "type": "object",
147
+ "properties": {
148
+ "output_tokens": {
149
+ "type": "integer",
150
+ "minimum": 0,
151
+ "maximum": 9007199254740991
152
+ },
153
+ "input_tokens": {
154
+ "type": "integer",
155
+ "minimum": 0,
156
+ "maximum": 9007199254740991
157
+ },
158
+ "cached_input_tokens": {
159
+ "type": "integer",
160
+ "minimum": 0,
161
+ "maximum": 9007199254740991
162
+ },
163
+ "reasoning_output_tokens": {
164
+ "type": "integer",
165
+ "minimum": 0,
166
+ "maximum": 9007199254740991
167
+ },
168
+ "active_time_ms": {
169
+ "type": "integer",
170
+ "minimum": 0,
171
+ "maximum": 9007199254740991
172
+ },
173
+ "active_intervals": {
174
+ "type": "array",
175
+ "items": {
176
+ "type": "object",
177
+ "properties": {
178
+ "start": {
179
+ "type": "string",
180
+ "format": "date-time",
181
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
182
+ },
183
+ "end": {
184
+ "type": "string",
185
+ "format": "date-time",
186
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
187
+ }
188
+ },
189
+ "required": [
190
+ "start",
191
+ "end"
192
+ ]
193
+ }
194
+ },
195
+ "active_gap_cap_ms": {
196
+ "type": "integer",
197
+ "minimum": 0,
198
+ "maximum": 9007199254740991
199
+ },
200
+ "active_time_method": {
201
+ "type": "string"
202
+ },
203
+ "machine_active_time_ms": {
204
+ "type": "integer",
205
+ "minimum": 0,
206
+ "maximum": 9007199254740991
207
+ }
208
+ }
209
+ }
210
+ },
211
+ "required": [
212
+ "workspace_id",
213
+ "source",
214
+ "started_at",
215
+ "status",
216
+ "working_directory",
217
+ "invocation"
218
+ ],
219
+ "additionalProperties": false
220
+ },
221
+ "events": {
222
+ "type": "array",
223
+ "items": {
224
+ "oneOf": [
225
+ {
226
+ "type": "object",
227
+ "properties": {
228
+ "schema_version": {
229
+ "type": "string",
230
+ "const": "0.1.0"
231
+ },
232
+ "id": {
233
+ "type": "string",
234
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
235
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
236
+ },
237
+ "session_id": {
238
+ "type": "string",
239
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
240
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
241
+ },
242
+ "occurred_at": {
243
+ "type": "string",
244
+ "format": "date-time",
245
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
246
+ },
247
+ "source": {
248
+ "type": "string",
249
+ "minLength": 1
250
+ },
251
+ "type": {
252
+ "type": "string",
253
+ "const": "session_started"
254
+ }
255
+ },
256
+ "required": [
257
+ "schema_version",
258
+ "id",
259
+ "session_id",
260
+ "occurred_at",
261
+ "source",
262
+ "type"
263
+ ]
264
+ },
265
+ {
266
+ "type": "object",
267
+ "properties": {
268
+ "schema_version": {
269
+ "type": "string",
270
+ "const": "0.1.0"
271
+ },
272
+ "id": {
273
+ "type": "string",
274
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
275
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
276
+ },
277
+ "session_id": {
278
+ "type": "string",
279
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
280
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
281
+ },
282
+ "occurred_at": {
283
+ "type": "string",
284
+ "format": "date-time",
285
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
286
+ },
287
+ "source": {
288
+ "type": "string",
289
+ "minLength": 1
290
+ },
291
+ "type": {
292
+ "type": "string",
293
+ "const": "session_ended"
294
+ },
295
+ "exit_code": {
296
+ "type": "integer",
297
+ "minimum": -9007199254740991,
298
+ "maximum": 9007199254740991
299
+ }
300
+ },
301
+ "required": [
302
+ "schema_version",
303
+ "id",
304
+ "session_id",
305
+ "occurred_at",
306
+ "source",
307
+ "type"
308
+ ]
309
+ },
310
+ {
311
+ "type": "object",
312
+ "properties": {
313
+ "schema_version": {
314
+ "type": "string",
315
+ "const": "0.1.0"
316
+ },
317
+ "id": {
318
+ "type": "string",
319
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
320
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
321
+ },
322
+ "session_id": {
323
+ "type": "string",
324
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
325
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
326
+ },
327
+ "occurred_at": {
328
+ "type": "string",
329
+ "format": "date-time",
330
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
331
+ },
332
+ "source": {
333
+ "type": "string",
334
+ "minLength": 1
335
+ },
336
+ "type": {
337
+ "type": "string",
338
+ "const": "session_status_changed"
339
+ },
340
+ "from": {
341
+ "type": "string"
342
+ },
343
+ "to": {
344
+ "type": "string"
345
+ }
346
+ },
347
+ "required": [
348
+ "schema_version",
349
+ "id",
350
+ "session_id",
351
+ "occurred_at",
352
+ "source",
353
+ "type",
354
+ "from",
355
+ "to"
356
+ ]
357
+ },
358
+ {
359
+ "type": "object",
360
+ "properties": {
361
+ "schema_version": {
362
+ "type": "string",
363
+ "const": "0.1.0"
364
+ },
365
+ "id": {
366
+ "type": "string",
367
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
368
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
369
+ },
370
+ "session_id": {
371
+ "type": "string",
372
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
373
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
374
+ },
375
+ "occurred_at": {
376
+ "type": "string",
377
+ "format": "date-time",
378
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
379
+ },
380
+ "source": {
381
+ "type": "string",
382
+ "minLength": 1
383
+ },
384
+ "type": {
385
+ "type": "string",
386
+ "const": "approval_requested"
387
+ },
388
+ "approval_id": {
389
+ "type": "string",
390
+ "pattern": "^appr_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
391
+ "description": "Basou appr id: `appr_` followed by a 26-character Crockford Base32 ULID."
392
+ },
393
+ "expires_at": {
394
+ "default": null,
395
+ "anyOf": [
396
+ {
397
+ "type": "string",
398
+ "format": "date-time",
399
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
400
+ },
401
+ {
402
+ "type": "null"
403
+ }
404
+ ]
405
+ },
406
+ "risk_level": {
407
+ "type": "string",
408
+ "enum": [
409
+ "low",
410
+ "medium",
411
+ "high",
412
+ "critical"
413
+ ]
414
+ },
415
+ "action": {
416
+ "type": "object",
417
+ "properties": {
418
+ "kind": {
419
+ "type": "string"
420
+ }
421
+ },
422
+ "required": [
423
+ "kind"
424
+ ],
425
+ "additionalProperties": {}
426
+ },
427
+ "reason": {
428
+ "type": "string"
429
+ },
430
+ "status": {
431
+ "type": "string",
432
+ "const": "pending"
433
+ }
434
+ },
435
+ "required": [
436
+ "schema_version",
437
+ "id",
438
+ "session_id",
439
+ "occurred_at",
440
+ "source",
441
+ "type",
442
+ "approval_id",
443
+ "risk_level",
444
+ "action",
445
+ "reason",
446
+ "status"
447
+ ]
448
+ },
449
+ {
450
+ "type": "object",
451
+ "properties": {
452
+ "schema_version": {
453
+ "type": "string",
454
+ "const": "0.1.0"
455
+ },
456
+ "id": {
457
+ "type": "string",
458
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
459
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
460
+ },
461
+ "session_id": {
462
+ "type": "string",
463
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
464
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
465
+ },
466
+ "occurred_at": {
467
+ "type": "string",
468
+ "format": "date-time",
469
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
470
+ },
471
+ "source": {
472
+ "type": "string",
473
+ "minLength": 1
474
+ },
475
+ "type": {
476
+ "type": "string",
477
+ "const": "approval_approved"
478
+ },
479
+ "approval_id": {
480
+ "type": "string",
481
+ "pattern": "^appr_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
482
+ "description": "Basou appr id: `appr_` followed by a 26-character Crockford Base32 ULID."
483
+ },
484
+ "resolver": {
485
+ "type": "string"
486
+ },
487
+ "note": {
488
+ "anyOf": [
489
+ {
490
+ "type": "string"
491
+ },
492
+ {
493
+ "type": "null"
494
+ }
495
+ ]
496
+ }
497
+ },
498
+ "required": [
499
+ "schema_version",
500
+ "id",
501
+ "session_id",
502
+ "occurred_at",
503
+ "source",
504
+ "type",
505
+ "approval_id"
506
+ ]
507
+ },
508
+ {
509
+ "type": "object",
510
+ "properties": {
511
+ "schema_version": {
512
+ "type": "string",
513
+ "const": "0.1.0"
514
+ },
515
+ "id": {
516
+ "type": "string",
517
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
518
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
519
+ },
520
+ "session_id": {
521
+ "type": "string",
522
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
523
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
524
+ },
525
+ "occurred_at": {
526
+ "type": "string",
527
+ "format": "date-time",
528
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
529
+ },
530
+ "source": {
531
+ "type": "string",
532
+ "minLength": 1
533
+ },
534
+ "type": {
535
+ "type": "string",
536
+ "const": "approval_rejected"
537
+ },
538
+ "approval_id": {
539
+ "type": "string",
540
+ "pattern": "^appr_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
541
+ "description": "Basou appr id: `appr_` followed by a 26-character Crockford Base32 ULID."
542
+ },
543
+ "resolver": {
544
+ "type": "string"
545
+ },
546
+ "reason": {
547
+ "type": "string"
548
+ }
549
+ },
550
+ "required": [
551
+ "schema_version",
552
+ "id",
553
+ "session_id",
554
+ "occurred_at",
555
+ "source",
556
+ "type",
557
+ "approval_id",
558
+ "reason"
559
+ ]
560
+ },
561
+ {
562
+ "type": "object",
563
+ "properties": {
564
+ "schema_version": {
565
+ "type": "string",
566
+ "const": "0.1.0"
567
+ },
568
+ "id": {
569
+ "type": "string",
570
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
571
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
572
+ },
573
+ "session_id": {
574
+ "type": "string",
575
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
576
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
577
+ },
578
+ "occurred_at": {
579
+ "type": "string",
580
+ "format": "date-time",
581
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
582
+ },
583
+ "source": {
584
+ "type": "string",
585
+ "minLength": 1
586
+ },
587
+ "type": {
588
+ "type": "string",
589
+ "const": "approval_expired"
590
+ },
591
+ "approval_id": {
592
+ "type": "string",
593
+ "pattern": "^appr_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
594
+ "description": "Basou appr id: `appr_` followed by a 26-character Crockford Base32 ULID."
595
+ }
596
+ },
597
+ "required": [
598
+ "schema_version",
599
+ "id",
600
+ "session_id",
601
+ "occurred_at",
602
+ "source",
603
+ "type",
604
+ "approval_id"
605
+ ]
606
+ },
607
+ {
608
+ "type": "object",
609
+ "properties": {
610
+ "schema_version": {
611
+ "type": "string",
612
+ "const": "0.1.0"
613
+ },
614
+ "id": {
615
+ "type": "string",
616
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
617
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
618
+ },
619
+ "session_id": {
620
+ "type": "string",
621
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
622
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
623
+ },
624
+ "occurred_at": {
625
+ "type": "string",
626
+ "format": "date-time",
627
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
628
+ },
629
+ "source": {
630
+ "type": "string",
631
+ "minLength": 1
632
+ },
633
+ "type": {
634
+ "type": "string",
635
+ "const": "command_executed"
636
+ },
637
+ "command": {
638
+ "type": "string"
639
+ },
640
+ "args": {
641
+ "type": "array",
642
+ "items": {
643
+ "type": "string"
644
+ }
645
+ },
646
+ "cwd": {
647
+ "type": "string"
648
+ },
649
+ "exit_code": {
650
+ "anyOf": [
651
+ {
652
+ "type": "integer",
653
+ "minimum": -9007199254740991,
654
+ "maximum": 9007199254740991
655
+ },
656
+ {
657
+ "type": "null"
658
+ }
659
+ ]
660
+ },
661
+ "signal": {
662
+ "anyOf": [
663
+ {
664
+ "type": "string"
665
+ },
666
+ {
667
+ "type": "null"
668
+ }
669
+ ]
670
+ },
671
+ "received_signal": {
672
+ "anyOf": [
673
+ {
674
+ "type": "string"
675
+ },
676
+ {
677
+ "type": "null"
678
+ }
679
+ ]
680
+ },
681
+ "duration_ms": {
682
+ "type": "integer",
683
+ "minimum": 0,
684
+ "maximum": 9007199254740991
685
+ }
686
+ },
687
+ "required": [
688
+ "schema_version",
689
+ "id",
690
+ "session_id",
691
+ "occurred_at",
692
+ "source",
693
+ "type",
694
+ "command",
695
+ "args",
696
+ "cwd",
697
+ "exit_code",
698
+ "duration_ms"
699
+ ]
700
+ },
701
+ {
702
+ "type": "object",
703
+ "properties": {
704
+ "schema_version": {
705
+ "type": "string",
706
+ "const": "0.1.0"
707
+ },
708
+ "id": {
709
+ "type": "string",
710
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
711
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
712
+ },
713
+ "session_id": {
714
+ "type": "string",
715
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
716
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
717
+ },
718
+ "occurred_at": {
719
+ "type": "string",
720
+ "format": "date-time",
721
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
722
+ },
723
+ "source": {
724
+ "type": "string",
725
+ "minLength": 1
726
+ },
727
+ "type": {
728
+ "type": "string",
729
+ "const": "git_snapshot"
730
+ },
731
+ "head": {
732
+ "type": "string"
733
+ },
734
+ "branch": {
735
+ "type": "string"
736
+ },
737
+ "dirty": {
738
+ "type": "boolean"
739
+ },
740
+ "staged": {
741
+ "type": "array",
742
+ "items": {
743
+ "type": "string"
744
+ }
745
+ },
746
+ "unstaged": {
747
+ "type": "array",
748
+ "items": {
749
+ "type": "string"
750
+ }
751
+ },
752
+ "untracked": {
753
+ "type": "array",
754
+ "items": {
755
+ "type": "string"
756
+ }
757
+ },
758
+ "ahead": {
759
+ "type": "integer",
760
+ "minimum": 0,
761
+ "maximum": 9007199254740991
762
+ },
763
+ "behind": {
764
+ "type": "integer",
765
+ "minimum": 0,
766
+ "maximum": 9007199254740991
767
+ }
768
+ },
769
+ "required": [
770
+ "schema_version",
771
+ "id",
772
+ "session_id",
773
+ "occurred_at",
774
+ "source",
775
+ "type",
776
+ "head",
777
+ "branch",
778
+ "dirty",
779
+ "staged",
780
+ "unstaged",
781
+ "untracked"
782
+ ]
783
+ },
784
+ {
785
+ "type": "object",
786
+ "properties": {
787
+ "schema_version": {
788
+ "type": "string",
789
+ "const": "0.1.0"
790
+ },
791
+ "id": {
792
+ "type": "string",
793
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
794
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
795
+ },
796
+ "session_id": {
797
+ "type": "string",
798
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
799
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
800
+ },
801
+ "occurred_at": {
802
+ "type": "string",
803
+ "format": "date-time",
804
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
805
+ },
806
+ "source": {
807
+ "type": "string",
808
+ "minLength": 1
809
+ },
810
+ "type": {
811
+ "type": "string",
812
+ "const": "file_changed"
813
+ },
814
+ "path": {
815
+ "type": "string"
816
+ },
817
+ "change_type": {
818
+ "type": "string",
819
+ "enum": [
820
+ "added",
821
+ "modified",
822
+ "deleted",
823
+ "renamed"
824
+ ]
825
+ },
826
+ "old_path": {
827
+ "anyOf": [
828
+ {
829
+ "type": "string"
830
+ },
831
+ {
832
+ "type": "null"
833
+ }
834
+ ]
835
+ }
836
+ },
837
+ "required": [
838
+ "schema_version",
839
+ "id",
840
+ "session_id",
841
+ "occurred_at",
842
+ "source",
843
+ "type",
844
+ "path",
845
+ "change_type"
846
+ ]
847
+ },
848
+ {
849
+ "type": "object",
850
+ "properties": {
851
+ "schema_version": {
852
+ "type": "string",
853
+ "const": "0.1.0"
854
+ },
855
+ "id": {
856
+ "type": "string",
857
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
858
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
859
+ },
860
+ "session_id": {
861
+ "type": "string",
862
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
863
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
864
+ },
865
+ "occurred_at": {
866
+ "type": "string",
867
+ "format": "date-time",
868
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
869
+ },
870
+ "source": {
871
+ "type": "string",
872
+ "minLength": 1
873
+ },
874
+ "type": {
875
+ "type": "string",
876
+ "const": "decision_recorded"
877
+ },
878
+ "decision_id": {
879
+ "type": "string",
880
+ "pattern": "^decision_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
881
+ "description": "Basou decision id: `decision_` followed by a 26-character Crockford Base32 ULID."
882
+ },
883
+ "title": {
884
+ "type": "string"
885
+ },
886
+ "rationale": {
887
+ "anyOf": [
888
+ {
889
+ "type": "string"
890
+ },
891
+ {
892
+ "type": "null"
893
+ }
894
+ ]
895
+ },
896
+ "alternatives": {
897
+ "type": "array",
898
+ "items": {
899
+ "type": "string",
900
+ "minLength": 1
901
+ }
902
+ },
903
+ "rejected_reason": {
904
+ "anyOf": [
905
+ {
906
+ "type": "string"
907
+ },
908
+ {
909
+ "type": "null"
910
+ }
911
+ ]
912
+ },
913
+ "linked_events": {
914
+ "type": "array",
915
+ "items": {
916
+ "type": "string",
917
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
918
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
919
+ }
920
+ },
921
+ "linked_files": {
922
+ "type": "array",
923
+ "items": {
924
+ "type": "string",
925
+ "minLength": 1,
926
+ "maxLength": 4096
927
+ }
928
+ }
929
+ },
930
+ "required": [
931
+ "schema_version",
932
+ "id",
933
+ "session_id",
934
+ "occurred_at",
935
+ "source",
936
+ "type",
937
+ "decision_id",
938
+ "title"
939
+ ]
940
+ },
941
+ {
942
+ "type": "object",
943
+ "properties": {
944
+ "schema_version": {
945
+ "type": "string",
946
+ "const": "0.1.0"
947
+ },
948
+ "id": {
949
+ "type": "string",
950
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
951
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
952
+ },
953
+ "session_id": {
954
+ "type": "string",
955
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
956
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
957
+ },
958
+ "occurred_at": {
959
+ "type": "string",
960
+ "format": "date-time",
961
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
962
+ },
963
+ "source": {
964
+ "type": "string",
965
+ "minLength": 1
966
+ },
967
+ "type": {
968
+ "type": "string",
969
+ "const": "task_created"
970
+ },
971
+ "task_id": {
972
+ "type": "string",
973
+ "pattern": "^task_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
974
+ "description": "Basou task id: `task_` followed by a 26-character Crockford Base32 ULID."
975
+ },
976
+ "title": {
977
+ "type": "string"
978
+ }
979
+ },
980
+ "required": [
981
+ "schema_version",
982
+ "id",
983
+ "session_id",
984
+ "occurred_at",
985
+ "source",
986
+ "type",
987
+ "task_id",
988
+ "title"
989
+ ]
990
+ },
991
+ {
992
+ "type": "object",
993
+ "properties": {
994
+ "schema_version": {
995
+ "type": "string",
996
+ "const": "0.1.0"
997
+ },
998
+ "id": {
999
+ "type": "string",
1000
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1001
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
1002
+ },
1003
+ "session_id": {
1004
+ "type": "string",
1005
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1006
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
1007
+ },
1008
+ "occurred_at": {
1009
+ "type": "string",
1010
+ "format": "date-time",
1011
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1012
+ },
1013
+ "source": {
1014
+ "type": "string",
1015
+ "minLength": 1
1016
+ },
1017
+ "type": {
1018
+ "type": "string",
1019
+ "const": "task_status_changed"
1020
+ },
1021
+ "task_id": {
1022
+ "type": "string",
1023
+ "pattern": "^task_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1024
+ "description": "Basou task id: `task_` followed by a 26-character Crockford Base32 ULID."
1025
+ },
1026
+ "from": {
1027
+ "type": "string"
1028
+ },
1029
+ "to": {
1030
+ "type": "string"
1031
+ }
1032
+ },
1033
+ "required": [
1034
+ "schema_version",
1035
+ "id",
1036
+ "session_id",
1037
+ "occurred_at",
1038
+ "source",
1039
+ "type",
1040
+ "task_id",
1041
+ "from",
1042
+ "to"
1043
+ ]
1044
+ },
1045
+ {
1046
+ "type": "object",
1047
+ "properties": {
1048
+ "schema_version": {
1049
+ "type": "string",
1050
+ "const": "0.1.0"
1051
+ },
1052
+ "id": {
1053
+ "type": "string",
1054
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1055
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
1056
+ },
1057
+ "session_id": {
1058
+ "type": "string",
1059
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1060
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
1061
+ },
1062
+ "occurred_at": {
1063
+ "type": "string",
1064
+ "format": "date-time",
1065
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1066
+ },
1067
+ "source": {
1068
+ "type": "string",
1069
+ "minLength": 1
1070
+ },
1071
+ "type": {
1072
+ "type": "string",
1073
+ "const": "task_reconciled"
1074
+ },
1075
+ "task_id": {
1076
+ "type": "string",
1077
+ "pattern": "^task_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1078
+ "description": "Basou task id: `task_` followed by a 26-character Crockford Base32 ULID."
1079
+ },
1080
+ "removed_created_in_session": {
1081
+ "default": null,
1082
+ "anyOf": [
1083
+ {
1084
+ "type": "string",
1085
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1086
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
1087
+ },
1088
+ {
1089
+ "type": "null"
1090
+ }
1091
+ ]
1092
+ },
1093
+ "created_in_session_replacement": {
1094
+ "default": null,
1095
+ "anyOf": [
1096
+ {
1097
+ "type": "string",
1098
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1099
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
1100
+ },
1101
+ {
1102
+ "type": "null"
1103
+ }
1104
+ ]
1105
+ },
1106
+ "removed_linked_sessions": {
1107
+ "default": [],
1108
+ "type": "array",
1109
+ "items": {
1110
+ "type": "string",
1111
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1112
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
1113
+ }
1114
+ }
1115
+ },
1116
+ "required": [
1117
+ "schema_version",
1118
+ "id",
1119
+ "session_id",
1120
+ "occurred_at",
1121
+ "source",
1122
+ "type",
1123
+ "task_id"
1124
+ ],
1125
+ "additionalProperties": false
1126
+ },
1127
+ {
1128
+ "type": "object",
1129
+ "properties": {
1130
+ "schema_version": {
1131
+ "type": "string",
1132
+ "const": "0.1.0"
1133
+ },
1134
+ "id": {
1135
+ "type": "string",
1136
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1137
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
1138
+ },
1139
+ "session_id": {
1140
+ "type": "string",
1141
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1142
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
1143
+ },
1144
+ "occurred_at": {
1145
+ "type": "string",
1146
+ "format": "date-time",
1147
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1148
+ },
1149
+ "source": {
1150
+ "type": "string",
1151
+ "minLength": 1
1152
+ },
1153
+ "type": {
1154
+ "type": "string",
1155
+ "const": "task_linkage_refreshed"
1156
+ },
1157
+ "task_id": {
1158
+ "type": "string",
1159
+ "pattern": "^task_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1160
+ "description": "Basou task id: `task_` followed by a 26-character Crockford Base32 ULID."
1161
+ },
1162
+ "added_linked_sessions": {
1163
+ "default": [],
1164
+ "type": "array",
1165
+ "items": {
1166
+ "type": "string",
1167
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1168
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
1169
+ }
1170
+ },
1171
+ "removed_linked_sessions": {
1172
+ "default": [],
1173
+ "type": "array",
1174
+ "items": {
1175
+ "type": "string",
1176
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1177
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
1178
+ }
1179
+ },
1180
+ "final_count": {
1181
+ "type": "integer",
1182
+ "minimum": 0,
1183
+ "maximum": 9007199254740991
1184
+ }
1185
+ },
1186
+ "required": [
1187
+ "schema_version",
1188
+ "id",
1189
+ "session_id",
1190
+ "occurred_at",
1191
+ "source",
1192
+ "type",
1193
+ "task_id"
1194
+ ],
1195
+ "additionalProperties": false
1196
+ },
1197
+ {
1198
+ "type": "object",
1199
+ "properties": {
1200
+ "schema_version": {
1201
+ "type": "string",
1202
+ "const": "0.1.0"
1203
+ },
1204
+ "id": {
1205
+ "type": "string",
1206
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1207
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
1208
+ },
1209
+ "session_id": {
1210
+ "type": "string",
1211
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1212
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
1213
+ },
1214
+ "occurred_at": {
1215
+ "type": "string",
1216
+ "format": "date-time",
1217
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1218
+ },
1219
+ "source": {
1220
+ "type": "string",
1221
+ "minLength": 1
1222
+ },
1223
+ "type": {
1224
+ "type": "string",
1225
+ "const": "task_deleted"
1226
+ },
1227
+ "task_id": {
1228
+ "type": "string",
1229
+ "pattern": "^task_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1230
+ "description": "Basou task id: `task_` followed by a 26-character Crockford Base32 ULID."
1231
+ },
1232
+ "title": {
1233
+ "type": "string",
1234
+ "minLength": 1
1235
+ }
1236
+ },
1237
+ "required": [
1238
+ "schema_version",
1239
+ "id",
1240
+ "session_id",
1241
+ "occurred_at",
1242
+ "source",
1243
+ "type",
1244
+ "task_id",
1245
+ "title"
1246
+ ],
1247
+ "additionalProperties": false
1248
+ },
1249
+ {
1250
+ "type": "object",
1251
+ "properties": {
1252
+ "schema_version": {
1253
+ "type": "string",
1254
+ "const": "0.1.0"
1255
+ },
1256
+ "id": {
1257
+ "type": "string",
1258
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1259
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
1260
+ },
1261
+ "session_id": {
1262
+ "type": "string",
1263
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1264
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
1265
+ },
1266
+ "occurred_at": {
1267
+ "type": "string",
1268
+ "format": "date-time",
1269
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1270
+ },
1271
+ "source": {
1272
+ "type": "string",
1273
+ "minLength": 1
1274
+ },
1275
+ "type": {
1276
+ "type": "string",
1277
+ "const": "task_archived"
1278
+ },
1279
+ "task_id": {
1280
+ "type": "string",
1281
+ "pattern": "^task_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1282
+ "description": "Basou task id: `task_` followed by a 26-character Crockford Base32 ULID."
1283
+ },
1284
+ "title": {
1285
+ "type": "string",
1286
+ "minLength": 1
1287
+ }
1288
+ },
1289
+ "required": [
1290
+ "schema_version",
1291
+ "id",
1292
+ "session_id",
1293
+ "occurred_at",
1294
+ "source",
1295
+ "type",
1296
+ "task_id",
1297
+ "title"
1298
+ ],
1299
+ "additionalProperties": false
1300
+ },
1301
+ {
1302
+ "type": "object",
1303
+ "properties": {
1304
+ "schema_version": {
1305
+ "type": "string",
1306
+ "const": "0.1.0"
1307
+ },
1308
+ "id": {
1309
+ "type": "string",
1310
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1311
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
1312
+ },
1313
+ "session_id": {
1314
+ "type": "string",
1315
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1316
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
1317
+ },
1318
+ "occurred_at": {
1319
+ "type": "string",
1320
+ "format": "date-time",
1321
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1322
+ },
1323
+ "source": {
1324
+ "type": "string",
1325
+ "minLength": 1
1326
+ },
1327
+ "type": {
1328
+ "type": "string",
1329
+ "const": "note_added"
1330
+ },
1331
+ "body": {
1332
+ "type": "string"
1333
+ }
1334
+ },
1335
+ "required": [
1336
+ "schema_version",
1337
+ "id",
1338
+ "session_id",
1339
+ "occurred_at",
1340
+ "source",
1341
+ "type",
1342
+ "body"
1343
+ ]
1344
+ },
1345
+ {
1346
+ "type": "object",
1347
+ "properties": {
1348
+ "schema_version": {
1349
+ "type": "string",
1350
+ "const": "0.1.0"
1351
+ },
1352
+ "id": {
1353
+ "type": "string",
1354
+ "pattern": "^evt_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1355
+ "description": "Basou evt id: `evt_` followed by a 26-character Crockford Base32 ULID."
1356
+ },
1357
+ "session_id": {
1358
+ "type": "string",
1359
+ "pattern": "^ses_[0-7][0-9A-HJKMNP-TV-Z]{25}$",
1360
+ "description": "Basou ses id: `ses_` followed by a 26-character Crockford Base32 ULID."
1361
+ },
1362
+ "occurred_at": {
1363
+ "type": "string",
1364
+ "format": "date-time",
1365
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
1366
+ },
1367
+ "source": {
1368
+ "type": "string",
1369
+ "minLength": 1
1370
+ },
1371
+ "type": {
1372
+ "type": "string",
1373
+ "const": "adapter_output"
1374
+ },
1375
+ "stream": {
1376
+ "type": "string",
1377
+ "enum": [
1378
+ "stdout",
1379
+ "stderr"
1380
+ ]
1381
+ },
1382
+ "summary": {
1383
+ "type": "string"
1384
+ },
1385
+ "raw_ref": {
1386
+ "type": "string"
1387
+ },
1388
+ "redacted": {
1389
+ "type": "boolean"
1390
+ }
1391
+ },
1392
+ "required": [
1393
+ "schema_version",
1394
+ "id",
1395
+ "session_id",
1396
+ "occurred_at",
1397
+ "source",
1398
+ "type",
1399
+ "stream",
1400
+ "summary",
1401
+ "raw_ref"
1402
+ ],
1403
+ "additionalProperties": false
1404
+ }
1405
+ ]
1406
+ }
1407
+ }
1408
+ },
1409
+ "required": [
1410
+ "schema_version",
1411
+ "session",
1412
+ "events"
1413
+ ],
1414
+ "additionalProperties": false
1415
+ }