@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,35 @@
1
+ /**
2
+ * AUTO-GENERATED by @abraca/schema (outline).
3
+ *
4
+ * Source: ../types/outline.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 { OutlineMeta } from "../types/outline.ts";
12
+
13
+ export type DocTypeName = "outline";
14
+
15
+ export type DocMetaMap = {
16
+ "outline": z.infer<typeof OutlineMeta>;
17
+ };
18
+
19
+ export type DocBodyMap = {
20
+ "outline": never;
21
+ };
22
+
23
+ export type DocChildrenMap = {
24
+ "outline": 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 (overview).
3
+ *
4
+ * Source: ../types/overview.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 { OverviewMeta } from "../types/overview.ts";
12
+
13
+ export type DocTypeName = "overview";
14
+
15
+ export type DocMetaMap = {
16
+ "overview": z.infer<typeof OverviewMeta>;
17
+ };
18
+
19
+ export type DocBodyMap = {
20
+ "overview": never;
21
+ };
22
+
23
+ export type DocChildrenMap = {
24
+ "overview": 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 (prose).
3
+ *
4
+ * Source: ../types/prose.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 { ProseMeta } from "../types/prose.ts";
12
+
13
+ export type DocTypeName = "prose";
14
+
15
+ export type DocMetaMap = {
16
+ "prose": z.infer<typeof ProseMeta>;
17
+ };
18
+
19
+ export type DocBodyMap = {
20
+ "prose": Y.Text;
21
+ };
22
+
23
+ export type DocChildrenMap = {
24
+ "prose": 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,125 @@
1
+ //! AUTO-GENERATED by @abraca/schema (calendar).
2
+ //!
3
+ //! Source: `abracadabra-ts/packages/schema/src/generated/json-schema/calendar.json`.
4
+ //! Run `pnpm schema:gen` from the abracadabra-ts repo to regenerate.
5
+ //! Do not edit by hand — CI verifies that this file matches the generator output.
6
+
7
+ #![allow(clippy::all)]
8
+ #![allow(dead_code)]
9
+
10
+ use serde::{Deserialize, Serialize};
11
+
12
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
13
+ #[serde(rename_all = "lowercase")]
14
+ pub enum CalendarCalendarWeekStart {
15
+ Sun,
16
+ Mon,
17
+ }
18
+
19
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
20
+ #[serde(rename_all = "lowercase")]
21
+ pub enum CalendarCalendarView {
22
+ Month,
23
+ Week,
24
+ Day,
25
+ }
26
+
27
+ #[derive(Debug, Clone, Default, Serialize, Deserialize)]
28
+ #[serde(deny_unknown_fields)]
29
+ pub struct CalendarMeta {
30
+ #[serde(default, skip_serializing_if = "Option::is_none")]
31
+ pub color: Option<String>,
32
+ #[serde(default, skip_serializing_if = "Option::is_none")]
33
+ pub icon: Option<String>,
34
+ #[serde(default, skip_serializing_if = "Option::is_none")]
35
+ #[serde(rename = "datetimeStart")]
36
+ pub datetime_start: Option<String>,
37
+ #[serde(default, skip_serializing_if = "Option::is_none")]
38
+ #[serde(rename = "datetimeEnd")]
39
+ pub datetime_end: Option<String>,
40
+ #[serde(default, skip_serializing_if = "Option::is_none")]
41
+ #[serde(rename = "allDay")]
42
+ pub all_day: Option<bool>,
43
+ #[serde(default, skip_serializing_if = "Option::is_none")]
44
+ #[serde(rename = "dateStart")]
45
+ pub date_start: Option<String>,
46
+ #[serde(default, skip_serializing_if = "Option::is_none")]
47
+ #[serde(rename = "dateEnd")]
48
+ pub date_end: Option<String>,
49
+ #[serde(default, skip_serializing_if = "Option::is_none")]
50
+ #[serde(rename = "timeStart")]
51
+ pub time_start: Option<String>,
52
+ #[serde(default, skip_serializing_if = "Option::is_none")]
53
+ #[serde(rename = "timeEnd")]
54
+ pub time_end: Option<String>,
55
+ #[serde(default, skip_serializing_if = "Option::is_none")]
56
+ pub tags: Option<Vec<String>>,
57
+ #[serde(default, skip_serializing_if = "Option::is_none")]
58
+ pub checked: Option<bool>,
59
+ #[serde(default, skip_serializing_if = "Option::is_none")]
60
+ pub priority: Option<i64>,
61
+ #[serde(default, skip_serializing_if = "Option::is_none")]
62
+ pub status: Option<String>,
63
+ #[serde(default, skip_serializing_if = "Option::is_none")]
64
+ pub rating: Option<f64>,
65
+ #[serde(default, skip_serializing_if = "Option::is_none")]
66
+ pub url: Option<String>,
67
+ #[serde(default, skip_serializing_if = "Option::is_none")]
68
+ pub email: Option<String>,
69
+ #[serde(default, skip_serializing_if = "Option::is_none")]
70
+ pub phone: Option<String>,
71
+ #[serde(default, skip_serializing_if = "Option::is_none")]
72
+ pub number: Option<f64>,
73
+ #[serde(default, skip_serializing_if = "Option::is_none")]
74
+ pub unit: Option<String>,
75
+ #[serde(default, skip_serializing_if = "Option::is_none")]
76
+ pub subtitle: Option<String>,
77
+ #[serde(default, skip_serializing_if = "Option::is_none")]
78
+ pub note: Option<String>,
79
+ #[serde(default, skip_serializing_if = "Option::is_none")]
80
+ #[serde(rename = "taskProgress")]
81
+ pub task_progress: Option<f64>,
82
+ #[serde(default, skip_serializing_if = "Option::is_none")]
83
+ #[serde(rename = "assignedTo")]
84
+ pub assigned_to: Option<String>,
85
+ #[serde(default, skip_serializing_if = "Option::is_none")]
86
+ #[serde(rename = "coverUploadId")]
87
+ pub cover_upload_id: Option<String>,
88
+ #[serde(default, skip_serializing_if = "Option::is_none")]
89
+ #[serde(rename = "coverDocId")]
90
+ pub cover_doc_id: Option<String>,
91
+ #[serde(default, skip_serializing_if = "Option::is_none")]
92
+ #[serde(rename = "coverMimeType")]
93
+ pub cover_mime_type: Option<String>,
94
+ #[serde(default, skip_serializing_if = "Option::is_none")]
95
+ #[serde(rename = "__schemaVersion")]
96
+ pub _schema_version: Option<i64>,
97
+ #[serde(default, skip_serializing_if = "Option::is_none")]
98
+ #[serde(rename = "calendarWeekStart")]
99
+ pub calendar_week_start: Option<CalendarCalendarWeekStart>,
100
+ #[serde(default, skip_serializing_if = "Option::is_none")]
101
+ #[serde(rename = "calendarView")]
102
+ pub calendar_view: Option<CalendarCalendarView>,
103
+ #[serde(default, skip_serializing_if = "Option::is_none")]
104
+ #[serde(rename = "calendarShowWeekNumbers")]
105
+ pub calendar_show_week_numbers: Option<bool>,
106
+ }
107
+
108
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
109
+ #[serde(rename_all = "kebab-case")]
110
+ pub enum DocTypeName {
111
+ Calendar,
112
+ }
113
+
114
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
115
+ #[serde(rename_all = "lowercase")]
116
+ pub enum BodyKind {
117
+ Ytext,
118
+ Yarray,
119
+ Ymap,
120
+ None,
121
+ }
122
+
123
+ pub const REGISTRY: &[(DocTypeName, u32, BodyKind, &[DocTypeName])] = &[
124
+ (DocTypeName::Calendar, 1u32, BodyKind::None, &[]),
125
+ ];
@@ -0,0 +1,151 @@
1
+ //! AUTO-GENERATED by @abraca/schema (chart).
2
+ //!
3
+ //! Source: `abracadabra-ts/packages/schema/src/generated/json-schema/chart.json`.
4
+ //! Run `pnpm schema:gen` from the abracadabra-ts repo to regenerate.
5
+ //! Do not edit by hand — CI verifies that this file matches the generator output.
6
+
7
+ #![allow(clippy::all)]
8
+ #![allow(dead_code)]
9
+
10
+ use serde::{Deserialize, Serialize};
11
+
12
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
13
+ #[serde(rename_all = "lowercase")]
14
+ pub enum ChartChartType {
15
+ Bar,
16
+ #[serde(rename = "stacked bar")]
17
+ StackedBar,
18
+ Line,
19
+ Donut,
20
+ Treemap,
21
+ }
22
+
23
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
24
+ #[serde(rename_all = "lowercase")]
25
+ pub enum ChartChartMetric {
26
+ Value,
27
+ Type,
28
+ Tag,
29
+ Status,
30
+ Priority,
31
+ Activity,
32
+ Completion,
33
+ }
34
+
35
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
36
+ #[serde(rename_all = "lowercase")]
37
+ pub enum ChartChartColorScheme {
38
+ Default,
39
+ Warm,
40
+ Cool,
41
+ Mono,
42
+ }
43
+
44
+ #[derive(Debug, Clone, Default, Serialize, Deserialize)]
45
+ #[serde(deny_unknown_fields)]
46
+ pub struct ChartMeta {
47
+ #[serde(default, skip_serializing_if = "Option::is_none")]
48
+ pub color: Option<String>,
49
+ #[serde(default, skip_serializing_if = "Option::is_none")]
50
+ pub icon: Option<String>,
51
+ #[serde(default, skip_serializing_if = "Option::is_none")]
52
+ #[serde(rename = "datetimeStart")]
53
+ pub datetime_start: Option<String>,
54
+ #[serde(default, skip_serializing_if = "Option::is_none")]
55
+ #[serde(rename = "datetimeEnd")]
56
+ pub datetime_end: Option<String>,
57
+ #[serde(default, skip_serializing_if = "Option::is_none")]
58
+ #[serde(rename = "allDay")]
59
+ pub all_day: Option<bool>,
60
+ #[serde(default, skip_serializing_if = "Option::is_none")]
61
+ #[serde(rename = "dateStart")]
62
+ pub date_start: Option<String>,
63
+ #[serde(default, skip_serializing_if = "Option::is_none")]
64
+ #[serde(rename = "dateEnd")]
65
+ pub date_end: Option<String>,
66
+ #[serde(default, skip_serializing_if = "Option::is_none")]
67
+ #[serde(rename = "timeStart")]
68
+ pub time_start: Option<String>,
69
+ #[serde(default, skip_serializing_if = "Option::is_none")]
70
+ #[serde(rename = "timeEnd")]
71
+ pub time_end: Option<String>,
72
+ #[serde(default, skip_serializing_if = "Option::is_none")]
73
+ pub tags: Option<Vec<String>>,
74
+ #[serde(default, skip_serializing_if = "Option::is_none")]
75
+ pub checked: Option<bool>,
76
+ #[serde(default, skip_serializing_if = "Option::is_none")]
77
+ pub priority: Option<i64>,
78
+ #[serde(default, skip_serializing_if = "Option::is_none")]
79
+ pub status: Option<String>,
80
+ #[serde(default, skip_serializing_if = "Option::is_none")]
81
+ pub rating: Option<f64>,
82
+ #[serde(default, skip_serializing_if = "Option::is_none")]
83
+ pub url: Option<String>,
84
+ #[serde(default, skip_serializing_if = "Option::is_none")]
85
+ pub email: Option<String>,
86
+ #[serde(default, skip_serializing_if = "Option::is_none")]
87
+ pub phone: Option<String>,
88
+ #[serde(default, skip_serializing_if = "Option::is_none")]
89
+ pub number: Option<f64>,
90
+ #[serde(default, skip_serializing_if = "Option::is_none")]
91
+ pub unit: Option<String>,
92
+ #[serde(default, skip_serializing_if = "Option::is_none")]
93
+ pub subtitle: Option<String>,
94
+ #[serde(default, skip_serializing_if = "Option::is_none")]
95
+ pub note: Option<String>,
96
+ #[serde(default, skip_serializing_if = "Option::is_none")]
97
+ #[serde(rename = "taskProgress")]
98
+ pub task_progress: Option<f64>,
99
+ #[serde(default, skip_serializing_if = "Option::is_none")]
100
+ #[serde(rename = "assignedTo")]
101
+ pub assigned_to: Option<String>,
102
+ #[serde(default, skip_serializing_if = "Option::is_none")]
103
+ #[serde(rename = "coverUploadId")]
104
+ pub cover_upload_id: Option<String>,
105
+ #[serde(default, skip_serializing_if = "Option::is_none")]
106
+ #[serde(rename = "coverDocId")]
107
+ pub cover_doc_id: Option<String>,
108
+ #[serde(default, skip_serializing_if = "Option::is_none")]
109
+ #[serde(rename = "coverMimeType")]
110
+ pub cover_mime_type: Option<String>,
111
+ #[serde(default, skip_serializing_if = "Option::is_none")]
112
+ #[serde(rename = "__schemaVersion")]
113
+ pub _schema_version: Option<i64>,
114
+ #[serde(default, skip_serializing_if = "Option::is_none")]
115
+ #[serde(rename = "chartType")]
116
+ pub chart_type: Option<ChartChartType>,
117
+ #[serde(default, skip_serializing_if = "Option::is_none")]
118
+ #[serde(rename = "chartMetric")]
119
+ pub chart_metric: Option<ChartChartMetric>,
120
+ #[serde(default, skip_serializing_if = "Option::is_none")]
121
+ #[serde(rename = "chartColorScheme")]
122
+ pub chart_color_scheme: Option<ChartChartColorScheme>,
123
+ #[serde(default, skip_serializing_if = "Option::is_none")]
124
+ #[serde(rename = "chartLimit")]
125
+ pub chart_limit: Option<i64>,
126
+ #[serde(default, skip_serializing_if = "Option::is_none")]
127
+ #[serde(rename = "chartShowLegend")]
128
+ pub chart_show_legend: Option<bool>,
129
+ #[serde(default, skip_serializing_if = "Option::is_none")]
130
+ #[serde(rename = "chartShowValues")]
131
+ pub chart_show_values: Option<bool>,
132
+ }
133
+
134
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
135
+ #[serde(rename_all = "kebab-case")]
136
+ pub enum DocTypeName {
137
+ Chart,
138
+ }
139
+
140
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
141
+ #[serde(rename_all = "lowercase")]
142
+ pub enum BodyKind {
143
+ Ytext,
144
+ Yarray,
145
+ Ymap,
146
+ None,
147
+ }
148
+
149
+ pub const REGISTRY: &[(DocTypeName, u32, BodyKind, &[DocTypeName])] = &[
150
+ (DocTypeName::Chart, 1u32, BodyKind::None, &[]),
151
+ ];
@@ -0,0 +1,123 @@
1
+ //! AUTO-GENERATED by @abraca/schema (checklist).
2
+ //!
3
+ //! Source: `abracadabra-ts/packages/schema/src/generated/json-schema/checklist.json`.
4
+ //! Run `pnpm schema:gen` from the abracadabra-ts repo to regenerate.
5
+ //! Do not edit by hand — CI verifies that this file matches the generator output.
6
+
7
+ #![allow(clippy::all)]
8
+ #![allow(dead_code)]
9
+
10
+ use serde::{Deserialize, Serialize};
11
+
12
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
13
+ #[serde(rename_all = "lowercase")]
14
+ pub enum ChecklistChecklistFilter {
15
+ All,
16
+ Active,
17
+ Completed,
18
+ }
19
+
20
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
21
+ #[serde(rename_all = "lowercase")]
22
+ pub enum ChecklistChecklistSort {
23
+ Manual,
24
+ Priority,
25
+ Due,
26
+ }
27
+
28
+ #[derive(Debug, Clone, Default, Serialize, Deserialize)]
29
+ #[serde(deny_unknown_fields)]
30
+ pub struct ChecklistMeta {
31
+ #[serde(default, skip_serializing_if = "Option::is_none")]
32
+ pub color: Option<String>,
33
+ #[serde(default, skip_serializing_if = "Option::is_none")]
34
+ pub icon: Option<String>,
35
+ #[serde(default, skip_serializing_if = "Option::is_none")]
36
+ #[serde(rename = "datetimeStart")]
37
+ pub datetime_start: Option<String>,
38
+ #[serde(default, skip_serializing_if = "Option::is_none")]
39
+ #[serde(rename = "datetimeEnd")]
40
+ pub datetime_end: Option<String>,
41
+ #[serde(default, skip_serializing_if = "Option::is_none")]
42
+ #[serde(rename = "allDay")]
43
+ pub all_day: Option<bool>,
44
+ #[serde(default, skip_serializing_if = "Option::is_none")]
45
+ #[serde(rename = "dateStart")]
46
+ pub date_start: Option<String>,
47
+ #[serde(default, skip_serializing_if = "Option::is_none")]
48
+ #[serde(rename = "dateEnd")]
49
+ pub date_end: Option<String>,
50
+ #[serde(default, skip_serializing_if = "Option::is_none")]
51
+ #[serde(rename = "timeStart")]
52
+ pub time_start: Option<String>,
53
+ #[serde(default, skip_serializing_if = "Option::is_none")]
54
+ #[serde(rename = "timeEnd")]
55
+ pub time_end: Option<String>,
56
+ #[serde(default, skip_serializing_if = "Option::is_none")]
57
+ pub tags: Option<Vec<String>>,
58
+ #[serde(default, skip_serializing_if = "Option::is_none")]
59
+ pub checked: Option<bool>,
60
+ #[serde(default, skip_serializing_if = "Option::is_none")]
61
+ pub priority: Option<i64>,
62
+ #[serde(default, skip_serializing_if = "Option::is_none")]
63
+ pub status: Option<String>,
64
+ #[serde(default, skip_serializing_if = "Option::is_none")]
65
+ pub rating: Option<f64>,
66
+ #[serde(default, skip_serializing_if = "Option::is_none")]
67
+ pub url: Option<String>,
68
+ #[serde(default, skip_serializing_if = "Option::is_none")]
69
+ pub email: Option<String>,
70
+ #[serde(default, skip_serializing_if = "Option::is_none")]
71
+ pub phone: Option<String>,
72
+ #[serde(default, skip_serializing_if = "Option::is_none")]
73
+ pub number: Option<f64>,
74
+ #[serde(default, skip_serializing_if = "Option::is_none")]
75
+ pub unit: Option<String>,
76
+ #[serde(default, skip_serializing_if = "Option::is_none")]
77
+ pub subtitle: Option<String>,
78
+ #[serde(default, skip_serializing_if = "Option::is_none")]
79
+ pub note: Option<String>,
80
+ #[serde(default, skip_serializing_if = "Option::is_none")]
81
+ #[serde(rename = "taskProgress")]
82
+ pub task_progress: Option<f64>,
83
+ #[serde(default, skip_serializing_if = "Option::is_none")]
84
+ #[serde(rename = "assignedTo")]
85
+ pub assigned_to: Option<String>,
86
+ #[serde(default, skip_serializing_if = "Option::is_none")]
87
+ #[serde(rename = "coverUploadId")]
88
+ pub cover_upload_id: Option<String>,
89
+ #[serde(default, skip_serializing_if = "Option::is_none")]
90
+ #[serde(rename = "coverDocId")]
91
+ pub cover_doc_id: Option<String>,
92
+ #[serde(default, skip_serializing_if = "Option::is_none")]
93
+ #[serde(rename = "coverMimeType")]
94
+ pub cover_mime_type: Option<String>,
95
+ #[serde(default, skip_serializing_if = "Option::is_none")]
96
+ #[serde(rename = "__schemaVersion")]
97
+ pub _schema_version: Option<i64>,
98
+ #[serde(default, skip_serializing_if = "Option::is_none")]
99
+ #[serde(rename = "checklistFilter")]
100
+ pub checklist_filter: Option<ChecklistChecklistFilter>,
101
+ #[serde(default, skip_serializing_if = "Option::is_none")]
102
+ #[serde(rename = "checklistSort")]
103
+ pub checklist_sort: Option<ChecklistChecklistSort>,
104
+ }
105
+
106
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
107
+ #[serde(rename_all = "kebab-case")]
108
+ pub enum DocTypeName {
109
+ Checklist,
110
+ }
111
+
112
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
113
+ #[serde(rename_all = "lowercase")]
114
+ pub enum BodyKind {
115
+ Ytext,
116
+ Yarray,
117
+ Ymap,
118
+ None,
119
+ }
120
+
121
+ pub const REGISTRY: &[(DocTypeName, u32, BodyKind, &[DocTypeName])] = &[
122
+ (DocTypeName::Checklist, 1u32, BodyKind::None, &[]),
123
+ ];
@@ -0,0 +1,101 @@
1
+ //! AUTO-GENERATED by @abraca/schema (dashboard).
2
+ //!
3
+ //! Source: `abracadabra-ts/packages/schema/src/generated/json-schema/dashboard.json`.
4
+ //! Run `pnpm schema:gen` from the abracadabra-ts repo to regenerate.
5
+ //! Do not edit by hand — CI verifies that this file matches the generator output.
6
+
7
+ #![allow(clippy::all)]
8
+ #![allow(dead_code)]
9
+
10
+ use serde::{Deserialize, Serialize};
11
+
12
+ #[derive(Debug, Clone, Default, Serialize, Deserialize)]
13
+ #[serde(deny_unknown_fields)]
14
+ pub struct DashboardMeta {
15
+ #[serde(default, skip_serializing_if = "Option::is_none")]
16
+ pub color: Option<String>,
17
+ #[serde(default, skip_serializing_if = "Option::is_none")]
18
+ pub icon: Option<String>,
19
+ #[serde(default, skip_serializing_if = "Option::is_none")]
20
+ #[serde(rename = "datetimeStart")]
21
+ pub datetime_start: Option<String>,
22
+ #[serde(default, skip_serializing_if = "Option::is_none")]
23
+ #[serde(rename = "datetimeEnd")]
24
+ pub datetime_end: Option<String>,
25
+ #[serde(default, skip_serializing_if = "Option::is_none")]
26
+ #[serde(rename = "allDay")]
27
+ pub all_day: Option<bool>,
28
+ #[serde(default, skip_serializing_if = "Option::is_none")]
29
+ #[serde(rename = "dateStart")]
30
+ pub date_start: Option<String>,
31
+ #[serde(default, skip_serializing_if = "Option::is_none")]
32
+ #[serde(rename = "dateEnd")]
33
+ pub date_end: Option<String>,
34
+ #[serde(default, skip_serializing_if = "Option::is_none")]
35
+ #[serde(rename = "timeStart")]
36
+ pub time_start: Option<String>,
37
+ #[serde(default, skip_serializing_if = "Option::is_none")]
38
+ #[serde(rename = "timeEnd")]
39
+ pub time_end: Option<String>,
40
+ #[serde(default, skip_serializing_if = "Option::is_none")]
41
+ pub tags: Option<Vec<String>>,
42
+ #[serde(default, skip_serializing_if = "Option::is_none")]
43
+ pub checked: Option<bool>,
44
+ #[serde(default, skip_serializing_if = "Option::is_none")]
45
+ pub priority: Option<i64>,
46
+ #[serde(default, skip_serializing_if = "Option::is_none")]
47
+ pub status: Option<String>,
48
+ #[serde(default, skip_serializing_if = "Option::is_none")]
49
+ pub rating: Option<f64>,
50
+ #[serde(default, skip_serializing_if = "Option::is_none")]
51
+ pub url: Option<String>,
52
+ #[serde(default, skip_serializing_if = "Option::is_none")]
53
+ pub email: Option<String>,
54
+ #[serde(default, skip_serializing_if = "Option::is_none")]
55
+ pub phone: Option<String>,
56
+ #[serde(default, skip_serializing_if = "Option::is_none")]
57
+ pub number: Option<f64>,
58
+ #[serde(default, skip_serializing_if = "Option::is_none")]
59
+ pub unit: Option<String>,
60
+ #[serde(default, skip_serializing_if = "Option::is_none")]
61
+ pub subtitle: Option<String>,
62
+ #[serde(default, skip_serializing_if = "Option::is_none")]
63
+ pub note: Option<String>,
64
+ #[serde(default, skip_serializing_if = "Option::is_none")]
65
+ #[serde(rename = "taskProgress")]
66
+ pub task_progress: Option<f64>,
67
+ #[serde(default, skip_serializing_if = "Option::is_none")]
68
+ #[serde(rename = "assignedTo")]
69
+ pub assigned_to: Option<String>,
70
+ #[serde(default, skip_serializing_if = "Option::is_none")]
71
+ #[serde(rename = "coverUploadId")]
72
+ pub cover_upload_id: Option<String>,
73
+ #[serde(default, skip_serializing_if = "Option::is_none")]
74
+ #[serde(rename = "coverDocId")]
75
+ pub cover_doc_id: Option<String>,
76
+ #[serde(default, skip_serializing_if = "Option::is_none")]
77
+ #[serde(rename = "coverMimeType")]
78
+ pub cover_mime_type: Option<String>,
79
+ #[serde(default, skip_serializing_if = "Option::is_none")]
80
+ #[serde(rename = "__schemaVersion")]
81
+ pub _schema_version: Option<i64>,
82
+ }
83
+
84
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
85
+ #[serde(rename_all = "kebab-case")]
86
+ pub enum DocTypeName {
87
+ Dashboard,
88
+ }
89
+
90
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
91
+ #[serde(rename_all = "lowercase")]
92
+ pub enum BodyKind {
93
+ Ytext,
94
+ Yarray,
95
+ Ymap,
96
+ None,
97
+ }
98
+
99
+ pub const REGISTRY: &[(DocTypeName, u32, BodyKind, &[DocTypeName])] = &[
100
+ (DocTypeName::Dashboard, 1u32, BodyKind::None, &[]),
101
+ ];