@inkbar/core 0.3.0 → 0.5.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/schema.json DELETED
@@ -1,650 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://inkbar.dev/schema/annotations-v1.json",
4
- "title": "Inkbar annotations",
5
- "description": "Typed annotation export. Coordinates are PDF user space in points, origin bottom-left.",
6
- "$ref": "#/$defs/AnnotationDocument",
7
- "$defs": {
8
- "Annotation": {
9
- "oneOf": [
10
- {
11
- "type": "object",
12
- "properties": {
13
- "id": { "type": "string", "minLength": 1 },
14
- "page": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
15
- "rect": {
16
- "type": "object",
17
- "properties": {
18
- "x": { "type": "number" },
19
- "y": { "type": "number" },
20
- "width": { "type": "number", "minimum": 0 },
21
- "height": { "type": "number", "minimum": 0 }
22
- },
23
- "required": ["x", "y", "width", "height"],
24
- "additionalProperties": false
25
- },
26
- "color": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },
27
- "opacity": { "type": "number", "minimum": 0, "maximum": 1 },
28
- "author": { "type": "string" },
29
- "contents": { "type": "string" },
30
- "inReplyTo": { "type": "string" },
31
- "createdAt": {
32
- "type": "string",
33
- "format": "date-time",
34
- "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)))$"
35
- },
36
- "modifiedAt": {
37
- "type": "string",
38
- "format": "date-time",
39
- "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)))$"
40
- },
41
- "custom": {
42
- "type": "object",
43
- "propertyNames": { "type": "string" },
44
- "additionalProperties": {}
45
- },
46
- "type": {
47
- "type": "string",
48
- "enum": ["highlight", "underline", "strikeout", "squiggly"]
49
- },
50
- "quads": {
51
- "minItems": 1,
52
- "type": "array",
53
- "items": {
54
- "type": "object",
55
- "properties": {
56
- "p1": {
57
- "type": "object",
58
- "properties": {
59
- "x": { "type": "number" },
60
- "y": { "type": "number" }
61
- },
62
- "required": ["x", "y"],
63
- "additionalProperties": false
64
- },
65
- "p2": {
66
- "type": "object",
67
- "properties": {
68
- "x": { "type": "number" },
69
- "y": { "type": "number" }
70
- },
71
- "required": ["x", "y"],
72
- "additionalProperties": false
73
- },
74
- "p3": {
75
- "type": "object",
76
- "properties": {
77
- "x": { "type": "number" },
78
- "y": { "type": "number" }
79
- },
80
- "required": ["x", "y"],
81
- "additionalProperties": false
82
- },
83
- "p4": {
84
- "type": "object",
85
- "properties": {
86
- "x": { "type": "number" },
87
- "y": { "type": "number" }
88
- },
89
- "required": ["x", "y"],
90
- "additionalProperties": false
91
- }
92
- },
93
- "required": ["p1", "p2", "p3", "p4"],
94
- "additionalProperties": false
95
- }
96
- }
97
- },
98
- "required": [
99
- "id",
100
- "page",
101
- "rect",
102
- "color",
103
- "opacity",
104
- "createdAt",
105
- "modifiedAt",
106
- "type",
107
- "quads"
108
- ],
109
- "additionalProperties": false
110
- },
111
- {
112
- "type": "object",
113
- "properties": {
114
- "id": { "type": "string", "minLength": 1 },
115
- "page": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
116
- "rect": {
117
- "type": "object",
118
- "properties": {
119
- "x": { "type": "number" },
120
- "y": { "type": "number" },
121
- "width": { "type": "number", "minimum": 0 },
122
- "height": { "type": "number", "minimum": 0 }
123
- },
124
- "required": ["x", "y", "width", "height"],
125
- "additionalProperties": false
126
- },
127
- "color": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },
128
- "opacity": { "type": "number", "minimum": 0, "maximum": 1 },
129
- "author": { "type": "string" },
130
- "contents": { "type": "string" },
131
- "inReplyTo": { "type": "string" },
132
- "createdAt": {
133
- "type": "string",
134
- "format": "date-time",
135
- "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)))$"
136
- },
137
- "modifiedAt": {
138
- "type": "string",
139
- "format": "date-time",
140
- "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)))$"
141
- },
142
- "custom": {
143
- "type": "object",
144
- "propertyNames": { "type": "string" },
145
- "additionalProperties": {}
146
- },
147
- "type": { "type": "string", "const": "text" },
148
- "icon": {
149
- "default": "comment",
150
- "type": "string",
151
- "enum": ["comment", "note", "help", "insert", "key", "paragraph"]
152
- }
153
- },
154
- "required": [
155
- "id",
156
- "page",
157
- "rect",
158
- "color",
159
- "opacity",
160
- "createdAt",
161
- "modifiedAt",
162
- "type",
163
- "icon"
164
- ],
165
- "additionalProperties": false
166
- },
167
- {
168
- "type": "object",
169
- "properties": {
170
- "id": { "type": "string", "minLength": 1 },
171
- "page": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
172
- "rect": {
173
- "type": "object",
174
- "properties": {
175
- "x": { "type": "number" },
176
- "y": { "type": "number" },
177
- "width": { "type": "number", "minimum": 0 },
178
- "height": { "type": "number", "minimum": 0 }
179
- },
180
- "required": ["x", "y", "width", "height"],
181
- "additionalProperties": false
182
- },
183
- "color": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },
184
- "opacity": { "type": "number", "minimum": 0, "maximum": 1 },
185
- "author": { "type": "string" },
186
- "contents": { "type": "string" },
187
- "inReplyTo": { "type": "string" },
188
- "createdAt": {
189
- "type": "string",
190
- "format": "date-time",
191
- "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)))$"
192
- },
193
- "modifiedAt": {
194
- "type": "string",
195
- "format": "date-time",
196
- "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)))$"
197
- },
198
- "custom": {
199
- "type": "object",
200
- "propertyNames": { "type": "string" },
201
- "additionalProperties": {}
202
- },
203
- "type": { "type": "string", "const": "freetext" },
204
- "fontSize": { "default": 12, "type": "number", "exclusiveMinimum": 0 },
205
- "fontFamily": { "default": "Helvetica", "type": "string" },
206
- "align": {
207
- "default": "left",
208
- "type": "string",
209
- "enum": ["left", "center", "right"]
210
- },
211
- "callout": {
212
- "minItems": 2,
213
- "maxItems": 3,
214
- "type": "array",
215
- "items": {
216
- "type": "object",
217
- "properties": { "x": { "type": "number" }, "y": { "type": "number" } },
218
- "required": ["x", "y"],
219
- "additionalProperties": false
220
- }
221
- }
222
- },
223
- "required": [
224
- "id",
225
- "page",
226
- "rect",
227
- "color",
228
- "opacity",
229
- "contents",
230
- "createdAt",
231
- "modifiedAt",
232
- "type",
233
- "fontSize",
234
- "fontFamily",
235
- "align"
236
- ],
237
- "additionalProperties": false
238
- },
239
- {
240
- "type": "object",
241
- "properties": {
242
- "id": { "type": "string", "minLength": 1 },
243
- "page": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
244
- "rect": {
245
- "type": "object",
246
- "properties": {
247
- "x": { "type": "number" },
248
- "y": { "type": "number" },
249
- "width": { "type": "number", "minimum": 0 },
250
- "height": { "type": "number", "minimum": 0 }
251
- },
252
- "required": ["x", "y", "width", "height"],
253
- "additionalProperties": false
254
- },
255
- "color": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },
256
- "opacity": { "type": "number", "minimum": 0, "maximum": 1 },
257
- "author": { "type": "string" },
258
- "contents": { "type": "string" },
259
- "inReplyTo": { "type": "string" },
260
- "createdAt": {
261
- "type": "string",
262
- "format": "date-time",
263
- "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)))$"
264
- },
265
- "modifiedAt": {
266
- "type": "string",
267
- "format": "date-time",
268
- "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)))$"
269
- },
270
- "custom": {
271
- "type": "object",
272
- "propertyNames": { "type": "string" },
273
- "additionalProperties": {}
274
- },
275
- "type": { "type": "string", "enum": ["square", "circle"] },
276
- "width": { "default": 1, "type": "number", "minimum": 0 },
277
- "interiorColor": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" }
278
- },
279
- "required": [
280
- "id",
281
- "page",
282
- "rect",
283
- "color",
284
- "opacity",
285
- "createdAt",
286
- "modifiedAt",
287
- "type",
288
- "width"
289
- ],
290
- "additionalProperties": false
291
- },
292
- {
293
- "type": "object",
294
- "properties": {
295
- "id": { "type": "string", "minLength": 1 },
296
- "page": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
297
- "rect": {
298
- "type": "object",
299
- "properties": {
300
- "x": { "type": "number" },
301
- "y": { "type": "number" },
302
- "width": { "type": "number", "minimum": 0 },
303
- "height": { "type": "number", "minimum": 0 }
304
- },
305
- "required": ["x", "y", "width", "height"],
306
- "additionalProperties": false
307
- },
308
- "color": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },
309
- "opacity": { "type": "number", "minimum": 0, "maximum": 1 },
310
- "author": { "type": "string" },
311
- "contents": { "type": "string" },
312
- "inReplyTo": { "type": "string" },
313
- "createdAt": {
314
- "type": "string",
315
- "format": "date-time",
316
- "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)))$"
317
- },
318
- "modifiedAt": {
319
- "type": "string",
320
- "format": "date-time",
321
- "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)))$"
322
- },
323
- "custom": {
324
- "type": "object",
325
- "propertyNames": { "type": "string" },
326
- "additionalProperties": {}
327
- },
328
- "type": { "type": "string", "const": "line" },
329
- "start": {
330
- "type": "object",
331
- "properties": { "x": { "type": "number" }, "y": { "type": "number" } },
332
- "required": ["x", "y"],
333
- "additionalProperties": false
334
- },
335
- "end": {
336
- "type": "object",
337
- "properties": { "x": { "type": "number" }, "y": { "type": "number" } },
338
- "required": ["x", "y"],
339
- "additionalProperties": false
340
- },
341
- "width": { "default": 1, "type": "number", "minimum": 0 },
342
- "head": {
343
- "type": "string",
344
- "enum": [
345
- "none",
346
- "openArrow",
347
- "closedArrow",
348
- "square",
349
- "circle",
350
- "diamond",
351
- "butt",
352
- "slash"
353
- ]
354
- },
355
- "tail": {
356
- "type": "string",
357
- "enum": [
358
- "none",
359
- "openArrow",
360
- "closedArrow",
361
- "square",
362
- "circle",
363
- "diamond",
364
- "butt",
365
- "slash"
366
- ]
367
- }
368
- },
369
- "required": [
370
- "id",
371
- "page",
372
- "rect",
373
- "color",
374
- "opacity",
375
- "createdAt",
376
- "modifiedAt",
377
- "type",
378
- "start",
379
- "end",
380
- "width"
381
- ],
382
- "additionalProperties": false
383
- },
384
- {
385
- "type": "object",
386
- "properties": {
387
- "id": { "type": "string", "minLength": 1 },
388
- "page": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
389
- "rect": {
390
- "type": "object",
391
- "properties": {
392
- "x": { "type": "number" },
393
- "y": { "type": "number" },
394
- "width": { "type": "number", "minimum": 0 },
395
- "height": { "type": "number", "minimum": 0 }
396
- },
397
- "required": ["x", "y", "width", "height"],
398
- "additionalProperties": false
399
- },
400
- "color": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },
401
- "opacity": { "type": "number", "minimum": 0, "maximum": 1 },
402
- "author": { "type": "string" },
403
- "contents": { "type": "string" },
404
- "inReplyTo": { "type": "string" },
405
- "createdAt": {
406
- "type": "string",
407
- "format": "date-time",
408
- "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)))$"
409
- },
410
- "modifiedAt": {
411
- "type": "string",
412
- "format": "date-time",
413
- "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)))$"
414
- },
415
- "custom": {
416
- "type": "object",
417
- "propertyNames": { "type": "string" },
418
- "additionalProperties": {}
419
- },
420
- "type": { "type": "string", "enum": ["polyline", "polygon"] },
421
- "vertices": {
422
- "minItems": 2,
423
- "type": "array",
424
- "items": {
425
- "type": "object",
426
- "properties": { "x": { "type": "number" }, "y": { "type": "number" } },
427
- "required": ["x", "y"],
428
- "additionalProperties": false
429
- }
430
- },
431
- "width": { "default": 1, "type": "number", "minimum": 0 },
432
- "interiorColor": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" }
433
- },
434
- "required": [
435
- "id",
436
- "page",
437
- "rect",
438
- "color",
439
- "opacity",
440
- "createdAt",
441
- "modifiedAt",
442
- "type",
443
- "vertices",
444
- "width"
445
- ],
446
- "additionalProperties": false
447
- },
448
- {
449
- "type": "object",
450
- "properties": {
451
- "id": { "type": "string", "minLength": 1 },
452
- "page": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
453
- "rect": {
454
- "type": "object",
455
- "properties": {
456
- "x": { "type": "number" },
457
- "y": { "type": "number" },
458
- "width": { "type": "number", "minimum": 0 },
459
- "height": { "type": "number", "minimum": 0 }
460
- },
461
- "required": ["x", "y", "width", "height"],
462
- "additionalProperties": false
463
- },
464
- "color": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },
465
- "opacity": { "type": "number", "minimum": 0, "maximum": 1 },
466
- "author": { "type": "string" },
467
- "contents": { "type": "string" },
468
- "inReplyTo": { "type": "string" },
469
- "createdAt": {
470
- "type": "string",
471
- "format": "date-time",
472
- "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)))$"
473
- },
474
- "modifiedAt": {
475
- "type": "string",
476
- "format": "date-time",
477
- "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)))$"
478
- },
479
- "custom": {
480
- "type": "object",
481
- "propertyNames": { "type": "string" },
482
- "additionalProperties": {}
483
- },
484
- "type": { "type": "string", "const": "ink" },
485
- "inklist": {
486
- "minItems": 1,
487
- "type": "array",
488
- "items": {
489
- "minItems": 1,
490
- "type": "array",
491
- "items": {
492
- "type": "object",
493
- "properties": { "x": { "type": "number" }, "y": { "type": "number" } },
494
- "required": ["x", "y"],
495
- "additionalProperties": false
496
- }
497
- }
498
- },
499
- "width": { "default": 2, "type": "number", "minimum": 0 }
500
- },
501
- "required": [
502
- "id",
503
- "page",
504
- "rect",
505
- "color",
506
- "opacity",
507
- "createdAt",
508
- "modifiedAt",
509
- "type",
510
- "inklist",
511
- "width"
512
- ],
513
- "additionalProperties": false
514
- },
515
- {
516
- "type": "object",
517
- "properties": {
518
- "id": { "type": "string", "minLength": 1 },
519
- "page": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
520
- "rect": {
521
- "type": "object",
522
- "properties": {
523
- "x": { "type": "number" },
524
- "y": { "type": "number" },
525
- "width": { "type": "number", "minimum": 0 },
526
- "height": { "type": "number", "minimum": 0 }
527
- },
528
- "required": ["x", "y", "width", "height"],
529
- "additionalProperties": false
530
- },
531
- "color": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },
532
- "opacity": { "type": "number", "minimum": 0, "maximum": 1 },
533
- "author": { "type": "string" },
534
- "contents": { "type": "string" },
535
- "inReplyTo": { "type": "string" },
536
- "createdAt": {
537
- "type": "string",
538
- "format": "date-time",
539
- "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)))$"
540
- },
541
- "modifiedAt": {
542
- "type": "string",
543
- "format": "date-time",
544
- "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)))$"
545
- },
546
- "custom": {
547
- "type": "object",
548
- "propertyNames": { "type": "string" },
549
- "additionalProperties": {}
550
- },
551
- "type": { "type": "string", "const": "redact" },
552
- "quads": {
553
- "minItems": 1,
554
- "type": "array",
555
- "items": {
556
- "type": "object",
557
- "properties": {
558
- "p1": {
559
- "type": "object",
560
- "properties": {
561
- "x": { "type": "number" },
562
- "y": { "type": "number" }
563
- },
564
- "required": ["x", "y"],
565
- "additionalProperties": false
566
- },
567
- "p2": {
568
- "type": "object",
569
- "properties": {
570
- "x": { "type": "number" },
571
- "y": { "type": "number" }
572
- },
573
- "required": ["x", "y"],
574
- "additionalProperties": false
575
- },
576
- "p3": {
577
- "type": "object",
578
- "properties": {
579
- "x": { "type": "number" },
580
- "y": { "type": "number" }
581
- },
582
- "required": ["x", "y"],
583
- "additionalProperties": false
584
- },
585
- "p4": {
586
- "type": "object",
587
- "properties": {
588
- "x": { "type": "number" },
589
- "y": { "type": "number" }
590
- },
591
- "required": ["x", "y"],
592
- "additionalProperties": false
593
- }
594
- },
595
- "required": ["p1", "p2", "p3", "p4"],
596
- "additionalProperties": false
597
- }
598
- },
599
- "origin": {
600
- "default": "user",
601
- "type": "string",
602
- "enum": ["user", "suggested"]
603
- },
604
- "suggestion": {
605
- "type": "object",
606
- "properties": {
607
- "jobId": { "type": "string" },
608
- "confidence": { "type": "number", "minimum": 0, "maximum": 1 },
609
- "reason": { "type": "string" },
610
- "explanation": { "type": "string" },
611
- "recommendation": {
612
- "type": "string",
613
- "enum": ["redact", "review", "keep"]
614
- }
615
- },
616
- "required": ["confidence"],
617
- "additionalProperties": false
618
- },
619
- "overlayText": { "type": "string" },
620
- "interiorColor": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" }
621
- },
622
- "required": [
623
- "id",
624
- "page",
625
- "rect",
626
- "color",
627
- "opacity",
628
- "createdAt",
629
- "modifiedAt",
630
- "type",
631
- "origin",
632
- "interiorColor"
633
- ],
634
- "additionalProperties": false
635
- }
636
- ]
637
- },
638
- "AnnotationDocument": {
639
- "type": "object",
640
- "properties": {
641
- "format": { "type": "string", "const": "inkbar/annotations" },
642
- "version": { "type": "number", "const": 1 },
643
- "documentKey": { "type": "string" },
644
- "annotations": { "type": "array", "items": { "$ref": "#/$defs/Annotation" } }
645
- },
646
- "required": ["format", "version", "annotations"],
647
- "additionalProperties": false
648
- }
649
- }
650
- }