@hyprune/schema 0.5.2 → 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,82 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://hyprune.com/schema/v0.21/focus-history.schema.json",
4
+ "title": "Hyprune 0.21 focus history line (focus/history.jsonl)",
5
+ "description": "One line of $XDG_STATE_HOME/hyprune/focus/history.jsonl: a finished work interval or break. Holds no window titles or contents.",
6
+ "$ref": "#/$defs/focusInterval",
7
+ "$defs": {
8
+ "focusInterval": {
9
+ "type": "object",
10
+ "properties": {
11
+ "start": {
12
+ "type": "string",
13
+ "minLength": 16,
14
+ "maxLength": 40,
15
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(:[0-9]{2}(\\.[0-9]{1,9})?)?(Z|[+-][0-9]{2}:[0-9]{2})?$"
16
+ },
17
+ "end": {
18
+ "type": "string",
19
+ "minLength": 16,
20
+ "maxLength": 40,
21
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(:[0-9]{2}(\\.[0-9]{1,9})?)?(Z|[+-][0-9]{2}:[0-9]{2})?$"
22
+ },
23
+ "phase": {
24
+ "enum": [
25
+ "work",
26
+ "break"
27
+ ]
28
+ },
29
+ "plannedMin": {
30
+ "type": "number",
31
+ "minimum": 0,
32
+ "maximum": 120
33
+ },
34
+ "creditedMin": {
35
+ "type": "number",
36
+ "minimum": 0,
37
+ "maximum": 120
38
+ },
39
+ "targetKind": {
40
+ "type": "string",
41
+ "minLength": 1,
42
+ "maxLength": 32,
43
+ "pattern": "^[a-z]+$"
44
+ },
45
+ "appClass": {
46
+ "type": "string",
47
+ "minLength": 0,
48
+ "maxLength": 128
49
+ },
50
+ "workspaceId": {
51
+ "type": "integer",
52
+ "minimum": 1,
53
+ "maximum": 2147483647
54
+ },
55
+ "questId": {
56
+ "type": "string",
57
+ "minLength": 3,
58
+ "maxLength": 200,
59
+ "pattern": "^[^/]{1,128}/[a-z0-9][a-z0-9-]{0,63}$"
60
+ },
61
+ "outcome": {
62
+ "enum": [
63
+ "completed",
64
+ "skipped",
65
+ "stopped"
66
+ ]
67
+ }
68
+ },
69
+ "required": [
70
+ "start",
71
+ "end",
72
+ "phase",
73
+ "plannedMin",
74
+ "creditedMin",
75
+ "targetKind",
76
+ "outcome"
77
+ ],
78
+ "additionalProperties": false,
79
+ "description": "One finished interval (also one line of focus/history.jsonl). Never titles."
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,118 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://hyprune.com/schema/v0.21/guidance.schema.json",
4
+ "title": "Hyprune 0.21 guidance settings file (guidance.json)",
5
+ "description": "Guidance overrides under $XDG_CONFIG_HOME/hyprune/guidance.json: flat dotted keys, every key optional (absent keys use the defaults reported by guidance.get).",
6
+ "$ref": "#/$defs/guidanceOverrides",
7
+ "$defs": {
8
+ "guidanceOverrides": {
9
+ "type": "object",
10
+ "properties": {
11
+ "markers.reveal_ms": {
12
+ "type": "integer",
13
+ "minimum": 1000,
14
+ "maximum": 15000
15
+ },
16
+ "markers.reveal_mode": {
17
+ "enum": [
18
+ "timer",
19
+ "toggle"
20
+ ]
21
+ },
22
+ "markers.max_revealed": {
23
+ "type": "integer",
24
+ "minimum": 4,
25
+ "maximum": 16
26
+ },
27
+ "markers.labels": {
28
+ "type": "integer",
29
+ "minimum": 2,
30
+ "maximum": 8
31
+ },
32
+ "markers.persistent": {
33
+ "enum": [
34
+ "off",
35
+ "edge",
36
+ "always"
37
+ ]
38
+ },
39
+ "markers.core_draw": {
40
+ "type": "boolean"
41
+ },
42
+ "quests.notifications": {
43
+ "enum": [
44
+ "all",
45
+ "important",
46
+ "off"
47
+ ]
48
+ },
49
+ "focus.work_min": {
50
+ "type": "integer",
51
+ "minimum": 5,
52
+ "maximum": 120
53
+ },
54
+ "focus.short_break_min": {
55
+ "type": "integer",
56
+ "minimum": 1,
57
+ "maximum": 30
58
+ },
59
+ "focus.long_break_min": {
60
+ "type": "integer",
61
+ "minimum": 5,
62
+ "maximum": 60
63
+ },
64
+ "focus.long_break_every": {
65
+ "type": "integer",
66
+ "minimum": 2,
67
+ "maximum": 12
68
+ },
69
+ "focus.cycles": {
70
+ "type": "integer",
71
+ "minimum": 1,
72
+ "maximum": 12
73
+ },
74
+ "focus.auto_start_breaks": {
75
+ "type": "boolean"
76
+ },
77
+ "focus.auto_start_work": {
78
+ "type": "boolean"
79
+ },
80
+ "focus.count_mode": {
81
+ "enum": [
82
+ "focus",
83
+ "wall"
84
+ ]
85
+ },
86
+ "focus.idle_s": {
87
+ "type": "integer",
88
+ "minimum": 60,
89
+ "maximum": 900
90
+ },
91
+ "focus.grace_s": {
92
+ "type": "integer",
93
+ "minimum": 0,
94
+ "maximum": 120
95
+ },
96
+ "focus.calm": {
97
+ "type": "boolean"
98
+ },
99
+ "focus.calm_npc_distance": {
100
+ "type": "number",
101
+ "minimum": 2,
102
+ "maximum": 20
103
+ },
104
+ "focus.desktop_chip": {
105
+ "type": "boolean"
106
+ },
107
+ "focus.history_days": {
108
+ "type": "integer",
109
+ "minimum": 0,
110
+ "maximum": 365
111
+ }
112
+ },
113
+ "required": [],
114
+ "additionalProperties": false,
115
+ "description": "Persisted guidance overrides (never null; may be empty)."
116
+ }
117
+ }
118
+ }