@hyprune/schema 0.5.1 → 0.5.2

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 (38) hide show
  1. package/package.json +2 -2
  2. package/v0/common.schema.json +85 -0
  3. package/v0/extension.schema.json +121 -0
  4. package/v0/ipc.schema.json +1725 -0
  5. package/v0/screen-type.schema.json +115 -0
  6. package/v0/world.schema.json +363 -0
  7. package/v0.10/ipc.schema.json +8811 -0
  8. package/v0.11/ipc.schema.json +8863 -0
  9. package/v0.12/ipc.schema.json +9541 -0
  10. package/v0.13/ipc.schema.json +10032 -0
  11. package/v0.14/ipc.schema.json +10127 -0
  12. package/v0.15/ipc.schema.json +10534 -0
  13. package/v0.16/ipc.schema.json +10550 -0
  14. package/v0.17/ipc.schema.json +10703 -0
  15. package/v0.18/ipc.schema.json +10801 -0
  16. package/v0.19/ipc.schema.json +11587 -0
  17. package/v0.2/common.schema.json +86 -0
  18. package/v0.2/ipc.schema.json +3570 -0
  19. package/v0.2/world.schema.json +363 -0
  20. package/v0.3/common.schema.json +477 -0
  21. package/v0.3/ipc.schema.json +4044 -0
  22. package/v0.3/world.schema.json +390 -0
  23. package/v0.4/common.schema.json +477 -0
  24. package/v0.4/ipc.schema.json +5561 -0
  25. package/v0.4/world.schema.json +496 -0
  26. package/v0.5/common.schema.json +477 -0
  27. package/v0.5/ipc.schema.json +5781 -0
  28. package/v0.5/world.schema.json +790 -0
  29. package/v0.6/common.schema.json +478 -0
  30. package/v0.6/input.schema.json +519 -0
  31. package/v0.6/ipc.schema.json +7375 -0
  32. package/v0.6/world.schema.json +1062 -0
  33. package/v0.7/common.schema.json +478 -0
  34. package/v0.7/ipc.schema.json +7905 -0
  35. package/v0.7/world.schema.json +1062 -0
  36. package/v0.8/ipc.schema.json +7945 -0
  37. package/v0.9/input.schema.json +518 -0
  38. package/v0.9/ipc.schema.json +8613 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyprune/schema",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "Versioned JSON Schemas for Hyprune world packages and the IPC protocol, with a validator and CLI for world authors",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -37,7 +37,7 @@
37
37
  "files": [
38
38
  "bin/",
39
39
  "lib/",
40
- "v0*/",
40
+ "v0*/**",
41
41
  "extensions/",
42
42
  "examples/",
43
43
  "CHANGELOG.md",
@@ -0,0 +1,85 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://hyprune.com/schema/v0/common.schema.json",
4
+ "title": "Hyprune v0 common",
5
+ "$defs": {
6
+ "id": {
7
+ "type": "string",
8
+ "minLength": 1,
9
+ "maxLength": 128,
10
+ "pattern": "^[a-z][a-z0-9-]*(\\.[a-z][a-z0-9-]*)+$"
11
+ },
12
+ "slug": {
13
+ "type": "string",
14
+ "minLength": 1,
15
+ "maxLength": 64,
16
+ "pattern": "^[a-z][a-z0-9-]*$"
17
+ },
18
+ "version": {
19
+ "type": "string",
20
+ "minLength": 1,
21
+ "maxLength": 256,
22
+ "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)(-[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"
23
+ },
24
+ "path": {
25
+ "type": "string",
26
+ "minLength": 1,
27
+ "maxLength": 512,
28
+ "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))[A-Za-z0-9_.-]+(?:/[A-Za-z0-9_.-]+)*$"
29
+ },
30
+ "pose": {
31
+ "type": "object",
32
+ "properties": {
33
+ "position": {
34
+ "type": "array",
35
+ "items": {
36
+ "type": "number"
37
+ },
38
+ "minItems": 3,
39
+ "maxItems": 3
40
+ },
41
+ "rotation": {
42
+ "type": "array",
43
+ "items": {
44
+ "type": "number"
45
+ },
46
+ "minItems": 4,
47
+ "maxItems": 4
48
+ }
49
+ },
50
+ "required": [
51
+ "position",
52
+ "rotation"
53
+ ],
54
+ "additionalProperties": false
55
+ },
56
+ "index": {
57
+ "type": "integer",
58
+ "minimum": 0
59
+ },
60
+ "capability": {
61
+ "enum": [
62
+ "state.read",
63
+ "world.control",
64
+ "surface.control",
65
+ "movement.control",
66
+ "shell.control",
67
+ "runtime.control"
68
+ ]
69
+ },
70
+ "extensions": {
71
+ "type": "object",
72
+ "propertyNames": {
73
+ "$ref": "common.schema.json#/$defs/id"
74
+ },
75
+ "additionalProperties": {
76
+ "type": "object"
77
+ }
78
+ },
79
+ "revision": {
80
+ "type": "integer",
81
+ "minimum": 0,
82
+ "maximum": 9007199254740991
83
+ }
84
+ }
85
+ }
@@ -0,0 +1,121 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://hyprune.com/schema/v0/extension.schema.json",
4
+ "title": "Hyprune v0 extension",
5
+ "type": "object",
6
+ "properties": {
7
+ "manifestVersion": {
8
+ "const": "0.1"
9
+ },
10
+ "id": {
11
+ "$ref": "common.schema.json#/$defs/id"
12
+ },
13
+ "version": {
14
+ "$ref": "common.schema.json#/$defs/version"
15
+ },
16
+ "name": {
17
+ "type": "string",
18
+ "minLength": 1,
19
+ "maxLength": 256
20
+ },
21
+ "description": {
22
+ "type": "string",
23
+ "minLength": 0,
24
+ "maxLength": 4096
25
+ },
26
+ "license": {
27
+ "type": "string",
28
+ "minLength": 1,
29
+ "maxLength": 256
30
+ },
31
+ "apiVersion": {
32
+ "const": "0.1"
33
+ },
34
+ "runtime": {
35
+ "const": "process"
36
+ },
37
+ "entrypoint": {
38
+ "$ref": "common.schema.json#/$defs/path"
39
+ },
40
+ "capabilities": {
41
+ "type": "array",
42
+ "items": {
43
+ "$ref": "common.schema.json#/$defs/capability"
44
+ },
45
+ "minItems": 0,
46
+ "uniqueItems": true
47
+ },
48
+ "contributes": {
49
+ "type": "object",
50
+ "properties": {
51
+ "screenTypes": {
52
+ "type": "array",
53
+ "items": {
54
+ "$ref": "common.schema.json#/$defs/path"
55
+ },
56
+ "minItems": 0,
57
+ "uniqueItems": true
58
+ },
59
+ "widgets": {
60
+ "type": "array",
61
+ "items": {
62
+ "$ref": "common.schema.json#/$defs/id"
63
+ },
64
+ "minItems": 0,
65
+ "uniqueItems": true
66
+ },
67
+ "movementModes": {
68
+ "type": "array",
69
+ "items": {
70
+ "$ref": "common.schema.json#/$defs/id"
71
+ },
72
+ "minItems": 0,
73
+ "uniqueItems": true
74
+ },
75
+ "integrations": {
76
+ "type": "array",
77
+ "items": {
78
+ "$ref": "common.schema.json#/$defs/id"
79
+ },
80
+ "minItems": 0,
81
+ "uniqueItems": true
82
+ }
83
+ },
84
+ "required": [],
85
+ "additionalProperties": false
86
+ },
87
+ "sandbox": {
88
+ "type": "object",
89
+ "properties": {
90
+ "required": {
91
+ "const": true
92
+ },
93
+ "network": {
94
+ "const": false
95
+ }
96
+ },
97
+ "required": [
98
+ "required",
99
+ "network"
100
+ ],
101
+ "additionalProperties": false
102
+ },
103
+ "extensions": {
104
+ "$ref": "common.schema.json#/$defs/extensions"
105
+ }
106
+ },
107
+ "required": [
108
+ "manifestVersion",
109
+ "id",
110
+ "version",
111
+ "name",
112
+ "license",
113
+ "apiVersion",
114
+ "runtime",
115
+ "entrypoint",
116
+ "capabilities",
117
+ "contributes",
118
+ "sandbox"
119
+ ],
120
+ "additionalProperties": false
121
+ }