@abraca/schema 2.3.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.
Files changed (92) hide show
  1. package/dist/abracadabra-schema.cjs +853 -0
  2. package/dist/abracadabra-schema.cjs.map +1 -0
  3. package/dist/abracadabra-schema.esm.js +781 -0
  4. package/dist/abracadabra-schema.esm.js.map +1 -0
  5. package/dist/index.d.ts +2538 -0
  6. package/package.json +41 -0
  7. package/src/crdt.ts +63 -0
  8. package/src/generated/calendar.ts +35 -0
  9. package/src/generated/chart.ts +35 -0
  10. package/src/generated/checklist.ts +35 -0
  11. package/src/generated/dashboard.ts +35 -0
  12. package/src/generated/doc.ts +35 -0
  13. package/src/generated/gallery.ts +35 -0
  14. package/src/generated/graph.ts +35 -0
  15. package/src/generated/json-schema/calendar.json +140 -0
  16. package/src/generated/json-schema/chart.json +164 -0
  17. package/src/generated/json-schema/checklist.json +138 -0
  18. package/src/generated/json-schema/dashboard.json +122 -0
  19. package/src/generated/json-schema/doc.json +122 -0
  20. package/src/generated/json-schema/gallery.json +157 -0
  21. package/src/generated/json-schema/graph.json +125 -0
  22. package/src/generated/json-schema/kanban.json +145 -0
  23. package/src/generated/json-schema/map.json +125 -0
  24. package/src/generated/json-schema/outline.json +122 -0
  25. package/src/generated/json-schema/overview.json +122 -0
  26. package/src/generated/json-schema/plugin-manifest.json +221 -0
  27. package/src/generated/json-schema/prose.json +122 -0
  28. package/src/generated/json-schema/sheets.json +135 -0
  29. package/src/generated/json-schema/slides.json +129 -0
  30. package/src/generated/json-schema/table.json +136 -0
  31. package/src/generated/json-schema/timeline.json +122 -0
  32. package/src/generated/kanban.ts +35 -0
  33. package/src/generated/map.ts +35 -0
  34. package/src/generated/markdown/calendar.md +59 -0
  35. package/src/generated/markdown/chart.md +62 -0
  36. package/src/generated/markdown/checklist.md +58 -0
  37. package/src/generated/markdown/dashboard.md +56 -0
  38. package/src/generated/markdown/doc.md +56 -0
  39. package/src/generated/markdown/gallery.md +61 -0
  40. package/src/generated/markdown/graph.md +57 -0
  41. package/src/generated/markdown/kanban.md +62 -0
  42. package/src/generated/markdown/map.md +57 -0
  43. package/src/generated/markdown/outline.md +56 -0
  44. package/src/generated/markdown/overview.md +56 -0
  45. package/src/generated/markdown/prose.md +56 -0
  46. package/src/generated/markdown/sheets.md +59 -0
  47. package/src/generated/markdown/slides.md +57 -0
  48. package/src/generated/markdown/table.md +58 -0
  49. package/src/generated/markdown/timeline.md +56 -0
  50. package/src/generated/outline.ts +35 -0
  51. package/src/generated/overview.ts +35 -0
  52. package/src/generated/prose.ts +35 -0
  53. package/src/generated/rust/calendar.rs +125 -0
  54. package/src/generated/rust/chart.rs +151 -0
  55. package/src/generated/rust/checklist.rs +123 -0
  56. package/src/generated/rust/dashboard.rs +101 -0
  57. package/src/generated/rust/doc.rs +101 -0
  58. package/src/generated/rust/gallery.rs +146 -0
  59. package/src/generated/rust/graph.rs +104 -0
  60. package/src/generated/rust/kanban.rs +127 -0
  61. package/src/generated/rust/map.rs +104 -0
  62. package/src/generated/rust/outline.rs +101 -0
  63. package/src/generated/rust/overview.rs +101 -0
  64. package/src/generated/rust/prose.rs +101 -0
  65. package/src/generated/rust/sheets.rs +110 -0
  66. package/src/generated/rust/slides.rs +111 -0
  67. package/src/generated/rust/table.rs +121 -0
  68. package/src/generated/rust/timeline.rs +101 -0
  69. package/src/generated/sheets.ts +35 -0
  70. package/src/generated/slides.ts +35 -0
  71. package/src/generated/table.ts +35 -0
  72. package/src/generated/timeline.ts +35 -0
  73. package/src/index.ts +389 -0
  74. package/src/manifest/plugin-manifest.ts +212 -0
  75. package/src/query.ts +150 -0
  76. package/src/types/calendar.ts +23 -0
  77. package/src/types/chart.ts +36 -0
  78. package/src/types/checklist.ts +22 -0
  79. package/src/types/dashboard.ts +18 -0
  80. package/src/types/doc.ts +19 -0
  81. package/src/types/gallery.ts +24 -0
  82. package/src/types/graph.ts +21 -0
  83. package/src/types/kanban.ts +27 -0
  84. package/src/types/map.ts +21 -0
  85. package/src/types/outline.ts +17 -0
  86. package/src/types/overview.ts +17 -0
  87. package/src/types/prose.ts +19 -0
  88. package/src/types/sheets.ts +24 -0
  89. package/src/types/slides.ts +22 -0
  90. package/src/types/table.ts +22 -0
  91. package/src/types/timeline.ts +18 -0
  92. package/src/types/universal.ts +59 -0
@@ -0,0 +1,136 @@
1
+ {
2
+ "$schema": "https://abraca.dev/schema/registry/v1.json",
3
+ "schemaVersion": 1,
4
+ "label": "table",
5
+ "types": {
6
+ "table": {
7
+ "version": 1,
8
+ "meta": {
9
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
10
+ "type": "object",
11
+ "properties": {
12
+ "color": {
13
+ "type": "string",
14
+ "pattern": "^#[0-9a-fA-F]{6}$"
15
+ },
16
+ "icon": {
17
+ "type": "string"
18
+ },
19
+ "datetimeStart": {
20
+ "type": "string",
21
+ "format": "date-time",
22
+ "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))$"
23
+ },
24
+ "datetimeEnd": {
25
+ "type": "string",
26
+ "format": "date-time",
27
+ "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))$"
28
+ },
29
+ "allDay": {
30
+ "type": "boolean"
31
+ },
32
+ "dateStart": {
33
+ "type": "string",
34
+ "format": "date",
35
+ "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])))$"
36
+ },
37
+ "dateEnd": {
38
+ "type": "string",
39
+ "format": "date",
40
+ "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])))$"
41
+ },
42
+ "timeStart": {
43
+ "type": "string",
44
+ "pattern": "^[0-2]\\d:[0-5]\\d$"
45
+ },
46
+ "timeEnd": {
47
+ "type": "string",
48
+ "pattern": "^[0-2]\\d:[0-5]\\d$"
49
+ },
50
+ "tags": {
51
+ "type": "array",
52
+ "items": {
53
+ "type": "string"
54
+ }
55
+ },
56
+ "checked": {
57
+ "type": "boolean"
58
+ },
59
+ "priority": {
60
+ "type": "integer",
61
+ "minimum": 0,
62
+ "maximum": 4
63
+ },
64
+ "status": {
65
+ "type": "string"
66
+ },
67
+ "rating": {
68
+ "type": "number",
69
+ "minimum": 0,
70
+ "maximum": 5
71
+ },
72
+ "url": {
73
+ "type": "string"
74
+ },
75
+ "email": {
76
+ "type": "string"
77
+ },
78
+ "phone": {
79
+ "type": "string"
80
+ },
81
+ "number": {
82
+ "type": "number"
83
+ },
84
+ "unit": {
85
+ "type": "string"
86
+ },
87
+ "subtitle": {
88
+ "type": "string"
89
+ },
90
+ "note": {
91
+ "type": "string"
92
+ },
93
+ "taskProgress": {
94
+ "type": "number",
95
+ "minimum": 0,
96
+ "maximum": 100
97
+ },
98
+ "assignedTo": {
99
+ "type": "string"
100
+ },
101
+ "coverUploadId": {
102
+ "type": "string"
103
+ },
104
+ "coverDocId": {
105
+ "type": "string"
106
+ },
107
+ "coverMimeType": {
108
+ "type": "string"
109
+ },
110
+ "__schemaVersion": {
111
+ "type": "integer",
112
+ "minimum": 1,
113
+ "maximum": 9007199254740991
114
+ },
115
+ "tableMode": {
116
+ "type": "string",
117
+ "enum": [
118
+ "hierarchy",
119
+ "flat"
120
+ ]
121
+ },
122
+ "tableSortDir": {
123
+ "type": "string",
124
+ "enum": [
125
+ "asc",
126
+ "desc"
127
+ ]
128
+ }
129
+ },
130
+ "additionalProperties": false
131
+ },
132
+ "body": "none",
133
+ "children": []
134
+ }
135
+ }
136
+ }
@@ -0,0 +1,122 @@
1
+ {
2
+ "$schema": "https://abraca.dev/schema/registry/v1.json",
3
+ "schemaVersion": 1,
4
+ "label": "timeline",
5
+ "types": {
6
+ "timeline": {
7
+ "version": 1,
8
+ "meta": {
9
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
10
+ "type": "object",
11
+ "properties": {
12
+ "color": {
13
+ "type": "string",
14
+ "pattern": "^#[0-9a-fA-F]{6}$"
15
+ },
16
+ "icon": {
17
+ "type": "string"
18
+ },
19
+ "datetimeStart": {
20
+ "type": "string",
21
+ "format": "date-time",
22
+ "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))$"
23
+ },
24
+ "datetimeEnd": {
25
+ "type": "string",
26
+ "format": "date-time",
27
+ "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))$"
28
+ },
29
+ "allDay": {
30
+ "type": "boolean"
31
+ },
32
+ "dateStart": {
33
+ "type": "string",
34
+ "format": "date",
35
+ "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])))$"
36
+ },
37
+ "dateEnd": {
38
+ "type": "string",
39
+ "format": "date",
40
+ "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])))$"
41
+ },
42
+ "timeStart": {
43
+ "type": "string",
44
+ "pattern": "^[0-2]\\d:[0-5]\\d$"
45
+ },
46
+ "timeEnd": {
47
+ "type": "string",
48
+ "pattern": "^[0-2]\\d:[0-5]\\d$"
49
+ },
50
+ "tags": {
51
+ "type": "array",
52
+ "items": {
53
+ "type": "string"
54
+ }
55
+ },
56
+ "checked": {
57
+ "type": "boolean"
58
+ },
59
+ "priority": {
60
+ "type": "integer",
61
+ "minimum": 0,
62
+ "maximum": 4
63
+ },
64
+ "status": {
65
+ "type": "string"
66
+ },
67
+ "rating": {
68
+ "type": "number",
69
+ "minimum": 0,
70
+ "maximum": 5
71
+ },
72
+ "url": {
73
+ "type": "string"
74
+ },
75
+ "email": {
76
+ "type": "string"
77
+ },
78
+ "phone": {
79
+ "type": "string"
80
+ },
81
+ "number": {
82
+ "type": "number"
83
+ },
84
+ "unit": {
85
+ "type": "string"
86
+ },
87
+ "subtitle": {
88
+ "type": "string"
89
+ },
90
+ "note": {
91
+ "type": "string"
92
+ },
93
+ "taskProgress": {
94
+ "type": "number",
95
+ "minimum": 0,
96
+ "maximum": 100
97
+ },
98
+ "assignedTo": {
99
+ "type": "string"
100
+ },
101
+ "coverUploadId": {
102
+ "type": "string"
103
+ },
104
+ "coverDocId": {
105
+ "type": "string"
106
+ },
107
+ "coverMimeType": {
108
+ "type": "string"
109
+ },
110
+ "__schemaVersion": {
111
+ "type": "integer",
112
+ "minimum": 1,
113
+ "maximum": 9007199254740991
114
+ }
115
+ },
116
+ "additionalProperties": false
117
+ },
118
+ "body": "none",
119
+ "children": []
120
+ }
121
+ }
122
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * AUTO-GENERATED by @abraca/schema (kanban).
3
+ *
4
+ * Source: ../types/kanban.ts
5
+ * Run `pnpm schema:gen` to regenerate. Do not edit by hand —
6
+ * CI verifies that this file matches the generator output.
7
+ */
8
+
9
+ import type * as Y from "yjs";
10
+ import type { z } from "zod";
11
+ import type { KanbanMeta } from "../types/kanban.ts";
12
+
13
+ export type DocTypeName = "kanban";
14
+
15
+ export type DocMetaMap = {
16
+ "kanban": z.infer<typeof KanbanMeta>;
17
+ };
18
+
19
+ export type DocBodyMap = {
20
+ "kanban": never;
21
+ };
22
+
23
+ export type DocChildrenMap = {
24
+ "kanban": never;
25
+ };
26
+
27
+ export interface DocOf<N extends DocTypeName> {
28
+ readonly id: string;
29
+ readonly type: N;
30
+ readonly meta: DocMetaMap[N];
31
+ readonly body: DocBodyMap[N];
32
+ readonly children: ReadonlyArray<DocOf<DocChildrenMap[N]>>;
33
+ }
34
+
35
+ export type Doc = { [N in DocTypeName]: DocOf<N> }[DocTypeName];
@@ -0,0 +1,35 @@
1
+ /**
2
+ * AUTO-GENERATED by @abraca/schema (map).
3
+ *
4
+ * Source: ../types/map.ts
5
+ * Run `pnpm schema:gen` to regenerate. Do not edit by hand —
6
+ * CI verifies that this file matches the generator output.
7
+ */
8
+
9
+ import type * as Y from "yjs";
10
+ import type { z } from "zod";
11
+ import type { MapMeta } from "../types/map.ts";
12
+
13
+ export type DocTypeName = "map";
14
+
15
+ export type DocMetaMap = {
16
+ "map": z.infer<typeof MapMeta>;
17
+ };
18
+
19
+ export type DocBodyMap = {
20
+ "map": never;
21
+ };
22
+
23
+ export type DocChildrenMap = {
24
+ "map": never;
25
+ };
26
+
27
+ export interface DocOf<N extends DocTypeName> {
28
+ readonly id: string;
29
+ readonly type: N;
30
+ readonly meta: DocMetaMap[N];
31
+ readonly body: DocBodyMap[N];
32
+ readonly children: ReadonlyArray<DocOf<DocChildrenMap[N]>>;
33
+ }
34
+
35
+ export type Doc = { [N in DocTypeName]: DocOf<N> }[DocTypeName];
@@ -0,0 +1,59 @@
1
+ <!--
2
+ AUTO-GENERATED by @abraca/schema (calendar).
3
+
4
+ Source: `abracadabra-ts/packages/schema/src/generated/json-schema/calendar.json`.
5
+ Run `pnpm schema:gen` to regenerate. CI verifies that this file matches
6
+ the generator output.
7
+ -->
8
+
9
+ # calendar — schema reference
10
+
11
+ Schema-bundle version: 1
12
+
13
+ ## Doc-types in this bundle
14
+
15
+ - [`calendar`](#calendar)
16
+
17
+ ---
18
+
19
+ ## `calendar`
20
+
21
+ - **Version:** 1
22
+ - **Body:** `none`
23
+ - **Allowed children:** _none_
24
+ - **Closed (rejects unknown meta keys):** yes
25
+
26
+ ### Meta fields
27
+
28
+ | Field | Type | Required | Constraints |
29
+ |---|---|---|---|
30
+ | `__schemaVersion` | integer | no | minimum: 1; maximum: 9007199254740991 |
31
+ | `allDay` | boolean | no | — |
32
+ | `assignedTo` | string | no | — |
33
+ | `calendarShowWeekNumbers` | boolean | no | — |
34
+ | `calendarView` | enum | no | enum: `month`, `week`, `day` |
35
+ | `calendarWeekStart` | enum | no | enum: `sun`, `mon` |
36
+ | `checked` | boolean | no | — |
37
+ | `color` | string | no | pattern: `^#[0-9a-fA-F]{6}$` |
38
+ | `coverDocId` | string | no | — |
39
+ | `coverMimeType` | string | no | — |
40
+ | `coverUploadId` | string | no | — |
41
+ | `dateEnd` | string | no | format: `date`; 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])))$` |
42
+ | `dateStart` | string | no | format: `date`; 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])))$` |
43
+ | `datetimeEnd` | string | no | format: `date-time`; 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))$` |
44
+ | `datetimeStart` | string | no | format: `date-time`; 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))$` |
45
+ | `email` | string | no | — |
46
+ | `icon` | string | no | — |
47
+ | `note` | string | no | — |
48
+ | `number` | number | no | — |
49
+ | `phone` | string | no | — |
50
+ | `priority` | integer | no | minimum: 0; maximum: 4 |
51
+ | `rating` | number | no | minimum: 0; maximum: 5 |
52
+ | `status` | string | no | — |
53
+ | `subtitle` | string | no | — |
54
+ | `tags` | array | no | — |
55
+ | `taskProgress` | number | no | minimum: 0; maximum: 100 |
56
+ | `timeEnd` | string | no | pattern: `^[0-2]\d:[0-5]\d$` |
57
+ | `timeStart` | string | no | pattern: `^[0-2]\d:[0-5]\d$` |
58
+ | `unit` | string | no | — |
59
+ | `url` | string | no | — |
@@ -0,0 +1,62 @@
1
+ <!--
2
+ AUTO-GENERATED by @abraca/schema (chart).
3
+
4
+ Source: `abracadabra-ts/packages/schema/src/generated/json-schema/chart.json`.
5
+ Run `pnpm schema:gen` to regenerate. CI verifies that this file matches
6
+ the generator output.
7
+ -->
8
+
9
+ # chart — schema reference
10
+
11
+ Schema-bundle version: 1
12
+
13
+ ## Doc-types in this bundle
14
+
15
+ - [`chart`](#chart)
16
+
17
+ ---
18
+
19
+ ## `chart`
20
+
21
+ - **Version:** 1
22
+ - **Body:** `none`
23
+ - **Allowed children:** _none_
24
+ - **Closed (rejects unknown meta keys):** yes
25
+
26
+ ### Meta fields
27
+
28
+ | Field | Type | Required | Constraints |
29
+ |---|---|---|---|
30
+ | `__schemaVersion` | integer | no | minimum: 1; maximum: 9007199254740991 |
31
+ | `allDay` | boolean | no | — |
32
+ | `assignedTo` | string | no | — |
33
+ | `chartColorScheme` | enum | no | enum: `default`, `warm`, `cool`, `mono` |
34
+ | `chartLimit` | integer | no | minimum: 3; maximum: 30 |
35
+ | `chartMetric` | enum | no | enum: `value`, `type`, `tag`, `status`, `priority`, `activity`, `completion` |
36
+ | `chartShowLegend` | boolean | no | — |
37
+ | `chartShowValues` | boolean | no | — |
38
+ | `chartType` | enum | no | enum: `bar`, `stacked bar`, `line`, `donut`, `treemap` |
39
+ | `checked` | boolean | no | — |
40
+ | `color` | string | no | pattern: `^#[0-9a-fA-F]{6}$` |
41
+ | `coverDocId` | string | no | — |
42
+ | `coverMimeType` | string | no | — |
43
+ | `coverUploadId` | string | no | — |
44
+ | `dateEnd` | string | no | format: `date`; 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])))$` |
45
+ | `dateStart` | string | no | format: `date`; 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])))$` |
46
+ | `datetimeEnd` | string | no | format: `date-time`; 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))$` |
47
+ | `datetimeStart` | string | no | format: `date-time`; 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))$` |
48
+ | `email` | string | no | — |
49
+ | `icon` | string | no | — |
50
+ | `note` | string | no | — |
51
+ | `number` | number | no | — |
52
+ | `phone` | string | no | — |
53
+ | `priority` | integer | no | minimum: 0; maximum: 4 |
54
+ | `rating` | number | no | minimum: 0; maximum: 5 |
55
+ | `status` | string | no | — |
56
+ | `subtitle` | string | no | — |
57
+ | `tags` | array | no | — |
58
+ | `taskProgress` | number | no | minimum: 0; maximum: 100 |
59
+ | `timeEnd` | string | no | pattern: `^[0-2]\d:[0-5]\d$` |
60
+ | `timeStart` | string | no | pattern: `^[0-2]\d:[0-5]\d$` |
61
+ | `unit` | string | no | — |
62
+ | `url` | string | no | — |
@@ -0,0 +1,58 @@
1
+ <!--
2
+ AUTO-GENERATED by @abraca/schema (checklist).
3
+
4
+ Source: `abracadabra-ts/packages/schema/src/generated/json-schema/checklist.json`.
5
+ Run `pnpm schema:gen` to regenerate. CI verifies that this file matches
6
+ the generator output.
7
+ -->
8
+
9
+ # checklist — schema reference
10
+
11
+ Schema-bundle version: 1
12
+
13
+ ## Doc-types in this bundle
14
+
15
+ - [`checklist`](#checklist)
16
+
17
+ ---
18
+
19
+ ## `checklist`
20
+
21
+ - **Version:** 1
22
+ - **Body:** `none`
23
+ - **Allowed children:** _none_
24
+ - **Closed (rejects unknown meta keys):** yes
25
+
26
+ ### Meta fields
27
+
28
+ | Field | Type | Required | Constraints |
29
+ |---|---|---|---|
30
+ | `__schemaVersion` | integer | no | minimum: 1; maximum: 9007199254740991 |
31
+ | `allDay` | boolean | no | — |
32
+ | `assignedTo` | string | no | — |
33
+ | `checked` | boolean | no | — |
34
+ | `checklistFilter` | enum | no | enum: `all`, `active`, `completed` |
35
+ | `checklistSort` | enum | no | enum: `manual`, `priority`, `due` |
36
+ | `color` | string | no | pattern: `^#[0-9a-fA-F]{6}$` |
37
+ | `coverDocId` | string | no | — |
38
+ | `coverMimeType` | string | no | — |
39
+ | `coverUploadId` | string | no | — |
40
+ | `dateEnd` | string | no | format: `date`; 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])))$` |
41
+ | `dateStart` | string | no | format: `date`; 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])))$` |
42
+ | `datetimeEnd` | string | no | format: `date-time`; 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))$` |
43
+ | `datetimeStart` | string | no | format: `date-time`; 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))$` |
44
+ | `email` | string | no | — |
45
+ | `icon` | string | no | — |
46
+ | `note` | string | no | — |
47
+ | `number` | number | no | — |
48
+ | `phone` | string | no | — |
49
+ | `priority` | integer | no | minimum: 0; maximum: 4 |
50
+ | `rating` | number | no | minimum: 0; maximum: 5 |
51
+ | `status` | string | no | — |
52
+ | `subtitle` | string | no | — |
53
+ | `tags` | array | no | — |
54
+ | `taskProgress` | number | no | minimum: 0; maximum: 100 |
55
+ | `timeEnd` | string | no | pattern: `^[0-2]\d:[0-5]\d$` |
56
+ | `timeStart` | string | no | pattern: `^[0-2]\d:[0-5]\d$` |
57
+ | `unit` | string | no | — |
58
+ | `url` | string | no | — |
@@ -0,0 +1,56 @@
1
+ <!--
2
+ AUTO-GENERATED by @abraca/schema (dashboard).
3
+
4
+ Source: `abracadabra-ts/packages/schema/src/generated/json-schema/dashboard.json`.
5
+ Run `pnpm schema:gen` to regenerate. CI verifies that this file matches
6
+ the generator output.
7
+ -->
8
+
9
+ # dashboard — schema reference
10
+
11
+ Schema-bundle version: 1
12
+
13
+ ## Doc-types in this bundle
14
+
15
+ - [`dashboard`](#dashboard)
16
+
17
+ ---
18
+
19
+ ## `dashboard`
20
+
21
+ - **Version:** 1
22
+ - **Body:** `none`
23
+ - **Allowed children:** _none_
24
+ - **Closed (rejects unknown meta keys):** yes
25
+
26
+ ### Meta fields
27
+
28
+ | Field | Type | Required | Constraints |
29
+ |---|---|---|---|
30
+ | `__schemaVersion` | integer | no | minimum: 1; maximum: 9007199254740991 |
31
+ | `allDay` | boolean | no | — |
32
+ | `assignedTo` | string | no | — |
33
+ | `checked` | boolean | no | — |
34
+ | `color` | string | no | pattern: `^#[0-9a-fA-F]{6}$` |
35
+ | `coverDocId` | string | no | — |
36
+ | `coverMimeType` | string | no | — |
37
+ | `coverUploadId` | string | no | — |
38
+ | `dateEnd` | string | no | format: `date`; 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])))$` |
39
+ | `dateStart` | string | no | format: `date`; 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])))$` |
40
+ | `datetimeEnd` | string | no | format: `date-time`; 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))$` |
41
+ | `datetimeStart` | string | no | format: `date-time`; 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))$` |
42
+ | `email` | string | no | — |
43
+ | `icon` | string | no | — |
44
+ | `note` | string | no | — |
45
+ | `number` | number | no | — |
46
+ | `phone` | string | no | — |
47
+ | `priority` | integer | no | minimum: 0; maximum: 4 |
48
+ | `rating` | number | no | minimum: 0; maximum: 5 |
49
+ | `status` | string | no | — |
50
+ | `subtitle` | string | no | — |
51
+ | `tags` | array | no | — |
52
+ | `taskProgress` | number | no | minimum: 0; maximum: 100 |
53
+ | `timeEnd` | string | no | pattern: `^[0-2]\d:[0-5]\d$` |
54
+ | `timeStart` | string | no | pattern: `^[0-2]\d:[0-5]\d$` |
55
+ | `unit` | string | no | — |
56
+ | `url` | string | no | — |
@@ -0,0 +1,56 @@
1
+ <!--
2
+ AUTO-GENERATED by @abraca/schema (doc).
3
+
4
+ Source: `abracadabra-ts/packages/schema/src/generated/json-schema/doc.json`.
5
+ Run `pnpm schema:gen` to regenerate. CI verifies that this file matches
6
+ the generator output.
7
+ -->
8
+
9
+ # doc — schema reference
10
+
11
+ Schema-bundle version: 1
12
+
13
+ ## Doc-types in this bundle
14
+
15
+ - [`doc`](#doc)
16
+
17
+ ---
18
+
19
+ ## `doc`
20
+
21
+ - **Version:** 1
22
+ - **Body:** `ytext`
23
+ - **Allowed children:** _none_
24
+ - **Closed (rejects unknown meta keys):** yes
25
+
26
+ ### Meta fields
27
+
28
+ | Field | Type | Required | Constraints |
29
+ |---|---|---|---|
30
+ | `__schemaVersion` | integer | no | minimum: 1; maximum: 9007199254740991 |
31
+ | `allDay` | boolean | no | — |
32
+ | `assignedTo` | string | no | — |
33
+ | `checked` | boolean | no | — |
34
+ | `color` | string | no | pattern: `^#[0-9a-fA-F]{6}$` |
35
+ | `coverDocId` | string | no | — |
36
+ | `coverMimeType` | string | no | — |
37
+ | `coverUploadId` | string | no | — |
38
+ | `dateEnd` | string | no | format: `date`; 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])))$` |
39
+ | `dateStart` | string | no | format: `date`; 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])))$` |
40
+ | `datetimeEnd` | string | no | format: `date-time`; 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))$` |
41
+ | `datetimeStart` | string | no | format: `date-time`; 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))$` |
42
+ | `email` | string | no | — |
43
+ | `icon` | string | no | — |
44
+ | `note` | string | no | — |
45
+ | `number` | number | no | — |
46
+ | `phone` | string | no | — |
47
+ | `priority` | integer | no | minimum: 0; maximum: 4 |
48
+ | `rating` | number | no | minimum: 0; maximum: 5 |
49
+ | `status` | string | no | — |
50
+ | `subtitle` | string | no | — |
51
+ | `tags` | array | no | — |
52
+ | `taskProgress` | number | no | minimum: 0; maximum: 100 |
53
+ | `timeEnd` | string | no | pattern: `^[0-2]\d:[0-5]\d$` |
54
+ | `timeStart` | string | no | pattern: `^[0-2]\d:[0-5]\d$` |
55
+ | `unit` | string | no | — |
56
+ | `url` | string | no | — |