wisp-schema 0.14.2 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/lib/wisp-schema.rb +1 -1
  3. data/nouns.json +11 -155
  4. data/wisp.json +16 -158
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7cb035509bd6497f7c3d5756b6c0010f1835e977bbe070a4d744eb716f653e58
4
- data.tar.gz: b36a7de8b8f404596508179d2da23e26d81721b194a1e83fb117f3727e10a1c3
3
+ metadata.gz: 46d2a4eea92a8d9e4cb18d35e2556c38c4e7c1e62e7827392a8d0160dadc5205
4
+ data.tar.gz: afc56ee92b4e12294c864c343f9915521a275bb8dce010f2303fed8a523a1571
5
5
  SHA512:
6
- metadata.gz: e0914a57c7430f589cb5ad76ec5fc0c771a32c1044a388d4a94facc0c77594861c1ef799dc056d3b1c1a8c4d27670b2f344ac49f3d5e9aa9e8e79458d8a364d7
7
- data.tar.gz: b071bb7e7a9acf7121fe3357eb4042d8b71e6cf615ab050b5057fd0c985869723594a0a7f826f0fb65642ee9948965d390bc2df2267b19e482832549778609de
6
+ metadata.gz: ba6f39c49b58956983a5bc302a2cb63569729b268451ea751806f0d2935f4b9e0ab1b89ce7fa32605b7d75153cb4d5fcd6cec200571b921d1f48fb8c2d318c72
7
+ data.tar.gz: 98d96a3bd20c1a4a7e62dd102503ac719b2c7eef1db9e47996fab22b93e5379a13e9b3cc52f2e362124bb6c49edfc3ef0436f4808ee44aefbf31fae0af393b87
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Wisp
4
- VERSION = '0.14.2'
4
+ VERSION = '0.17.0'
5
5
 
6
6
  SCHEMA_PATH = File.expand_path('../wisp.json', __dir__)
7
7
  NOUNS_PATH = File.expand_path('../nouns.json', __dir__)
data/nouns.json CHANGED
@@ -1,149 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "definitions": {
4
- "button": {
5
- "type": "object",
6
- "title": "Button",
7
- "description": "Button",
8
- "properties": {
9
- "type": {
10
- "enum": ["button"]
11
- },
12
- "label": {"title": "Label", "type": "string"}
13
- },
14
- "additionalProperties": false,
15
- "required": ["type", "label"]
16
- },
17
- "text_field": {
18
- "type": "object",
19
- "title": "Text Field",
20
- "description": "Text Field",
21
- "properties": {
22
- "type": {
23
- "enum": ["text_field"]
24
- },
25
- "label": {"title": "Label", "type": "string"}
26
- },
27
- "additionalProperties": false,
28
- "required": ["type", "label"]
29
- },
30
- "dropdown": {
31
- "type": "object",
32
- "title": "Dropdown",
33
- "description": "Dropdown",
34
- "properties": {
35
- "type": {
36
- "enum": ["dropdown"]
37
- },
38
- "label": {"title": "Label", "type": "string"}
39
- },
40
- "additionalProperties": false,
41
- "required": ["type", "label"]
42
- },
43
- "dropdown_option": {
44
- "type": "object",
45
- "title": "Dropdown Option",
46
- "description": "Option in open dropdown",
47
- "properties": {
48
- "type": {
49
- "enum": ["dropdown_option"]
50
- },
51
- "label": {"title": "Label", "type": "string"}
52
- },
53
- "additionalProperties": false,
54
- "required": ["type", "label"]
55
- },
56
- "link": {
57
- "type": "object",
58
- "title": "Link",
59
- "description": "Link",
60
- "properties": {
61
- "type": {
62
- "enum": ["link"]
63
- },
64
- "text": {"title": "Text", "type": "string"}
65
- },
66
- "additionalProperties": false,
67
- "required": ["type", "text"]
68
- },
69
- "icon": {
70
- "type": "object",
71
- "title": "Icon",
72
- "description": "Icon",
73
- "properties": {
74
- "type": {
75
- "enum": ["icon"]
76
- },
77
- "description": {"title": "Description", "type": "string"}
78
- },
79
- "additionalProperties": false,
80
- "required": ["type", "description"]
81
- },
82
- "checkbox": {
83
- "type": "object",
84
- "title": "Checkbox",
85
- "description": "Checkbox",
86
- "properties": {
87
- "type": {
88
- "enum": ["checkbox"]
89
- },
90
- "label": {"title": "Label", "type": "string"}
91
- },
92
- "additionalProperties": false,
93
- "required": ["type", "label"]
94
- },
95
- "header": {
96
- "type": "object",
97
- "title": "Header",
98
- "description": "Page Header",
99
- "properties": {
100
- "type": {
101
- "enum": ["header"]
102
- },
103
- "text": {"title": "Text", "type": "string"}
104
- },
105
- "additionalProperties": false,
106
- "required": ["type", "text"]
107
- },
108
- "window": {
109
- "type": "object",
110
- "title": "Window",
111
- "description": "Any pop-up window",
112
- "properties": {
113
- "type": {
114
- "enum": ["window"]
115
- },
116
- "description": {"title": "Description", "type": "string"}
117
- },
118
- "additionalProperties": false,
119
- "required": ["type", "description"]
120
- },
121
- "modal": {
122
- "type": "object",
123
- "title": "Modal",
124
- "description": "In page modal",
125
- "properties": {
126
- "type": {
127
- "enum": ["modal"]
128
- },
129
- "description": {"title": "Description", "type": "string"}
130
- },
131
- "additionalProperties": false,
132
- "required": ["type", "description"]
133
- },
134
- "text": {
135
- "type": "object",
136
- "title": "Text",
137
- "description": "Exactly matched text",
138
- "properties": {
139
- "type": {
140
- "enum": ["text"]
141
- },
142
- "text": {"title": "Text", "type": "string"}
143
- },
144
- "additionalProperties": false,
145
- "required": ["type", "text"]
146
- },
147
4
  "ui_element": {
148
5
  "type": "object",
149
6
  "title": "UI Element",
@@ -152,7 +9,17 @@
152
9
  "type": {
153
10
  "enum": ["ui_element"]
154
11
  },
155
- "element": {"title": "Element", "type": "string"}
12
+ "element": {"title": "Element", "type": "string"},
13
+ "focus_x": {"title": "Focus offset for x-axis from top left corner", "type": "integer", "options": {"hidden": true}},
14
+ "focus_y": {"title": "Focus offset for y-axis from top left corner", "type": "integer", "options": {"hidden": true}},
15
+ "match_mode": {
16
+ "enum": ["pixel", "pixel_and_ocr"]
17
+ },
18
+ "ocr_expression": {
19
+ "title": "Expression to use for text matching",
20
+ "type": "string",
21
+ "maxLength": 999
22
+ }
156
23
  },
157
24
  "additionalProperties": false,
158
25
  "required": ["type", "element"]
@@ -180,17 +47,6 @@
180
47
  },
181
48
  "noun": {
182
49
  "oneOf": [
183
- {"$ref": "#/definitions/button"},
184
- {"$ref": "#/definitions/text_field"},
185
- {"$ref": "#/definitions/dropdown"},
186
- {"$ref": "#/definitions/dropdown_option"},
187
- {"$ref": "#/definitions/link"},
188
- {"$ref": "#/definitions/icon"},
189
- {"$ref": "#/definitions/checkbox"},
190
- {"$ref": "#/definitions/header"},
191
- {"$ref": "#/definitions/window"},
192
- {"$ref": "#/definitions/modal"},
193
- {"$ref": "#/definitions/text"},
194
50
  {"$ref": "#/definitions/ui_element"},
195
51
  {"$ref": "#/definitions/ui_element_reference"}
196
52
  ]
data/wisp.json CHANGED
@@ -4,164 +4,10 @@
4
4
  "noun": {
5
5
  "title": "Wisp Noun",
6
6
  "oneOf": [
7
- {"$ref": "#/definitions/button"},
8
- {"$ref": "#/definitions/text_field"},
9
- {"$ref": "#/definitions/dropdown"},
10
- {"$ref": "#/definitions/dropdown_option"},
11
- {"$ref": "#/definitions/link"},
12
- {"$ref": "#/definitions/icon"},
13
- {"$ref": "#/definitions/checkbox"},
14
- {"$ref": "#/definitions/header"},
15
- {"$ref": "#/definitions/window"},
16
- {"$ref": "#/definitions/modal"},
17
- {"$ref": "#/definitions/text"},
18
7
  {"$ref": "#/definitions/ui_element"},
19
8
  {"$ref": "#/definitions/ui_element_reference"}
20
9
  ]
21
10
  },
22
- "button": {
23
- "type": "object",
24
- "title": "Button",
25
- "description": "Button",
26
- "properties": {
27
- "type": {
28
- "enum": ["button"]
29
- },
30
- "label": {"title": "Label", "type": "string"}
31
- },
32
- "additionalProperties": false,
33
- "required": ["type", "label"]
34
- },
35
- "text_field": {
36
- "type": "object",
37
- "title": "Text Field",
38
- "description": "Text Field",
39
- "properties": {
40
- "type": {
41
- "enum": ["text_field"]
42
- },
43
- "label": {"title": "Label", "type": "string"}
44
- },
45
- "additionalProperties": false,
46
- "required": ["type", "label"]
47
- },
48
- "dropdown": {
49
- "type": "object",
50
- "title": "Dropdown",
51
- "description": "Dropdown",
52
- "properties": {
53
- "type": {
54
- "enum": ["dropdown"]
55
- },
56
- "label": {"title": "Label", "type": "string"}
57
- },
58
- "additionalProperties": false,
59
- "required": ["type", "label"]
60
- },
61
- "dropdown_option": {
62
- "type": "object",
63
- "title": "Dropdown Option",
64
- "description": "Option in open dropdown",
65
- "properties": {
66
- "type": {
67
- "enum": ["dropdown_option"]
68
- },
69
- "label": {"title": "Label", "type": "string"}
70
- },
71
- "additionalProperties": false,
72
- "required": ["type", "label"]
73
- },
74
- "link": {
75
- "type": "object",
76
- "title": "Link",
77
- "description": "Link",
78
- "properties": {
79
- "type": {
80
- "enum": ["link"]
81
- },
82
- "text": {"title": "Text", "type": "string"}
83
- },
84
- "additionalProperties": false,
85
- "required": ["type", "text"]
86
- },
87
- "icon": {
88
- "type": "object",
89
- "title": "Icon",
90
- "description": "Icon",
91
- "properties": {
92
- "type": {
93
- "enum": ["icon"]
94
- },
95
- "description": {"title": "Description", "type": "string"}
96
- },
97
- "additionalProperties": false,
98
- "required": ["type", "description"]
99
- },
100
- "checkbox": {
101
- "type": "object",
102
- "title": "Checkbox",
103
- "description": "Checkbox",
104
- "properties": {
105
- "type": {
106
- "enum": ["checkbox"]
107
- },
108
- "label": {"title": "Label", "type": "string"}
109
- },
110
- "additionalProperties": false,
111
- "required": ["type", "label"]
112
- },
113
- "header": {
114
- "type": "object",
115
- "title": "Header",
116
- "description": "Page Header",
117
- "properties": {
118
- "type": {
119
- "enum": ["header"]
120
- },
121
- "text": {"title": "Text", "type": "string"}
122
- },
123
- "additionalProperties": false,
124
- "required": ["type", "text"]
125
- },
126
- "window": {
127
- "type": "object",
128
- "title": "Window",
129
- "description": "Any pop-up window",
130
- "properties": {
131
- "type": {
132
- "enum": ["window"]
133
- },
134
- "description": {"title": "Description", "type": "string"}
135
- },
136
- "additionalProperties": false,
137
- "required": ["type", "description"]
138
- },
139
- "modal": {
140
- "type": "object",
141
- "title": "Modal",
142
- "description": "In page modal",
143
- "properties": {
144
- "type": {
145
- "enum": ["modal"]
146
- },
147
- "description": {"title": "Description", "type": "string"}
148
- },
149
- "additionalProperties": false,
150
- "required": ["type", "description"]
151
- },
152
- "text": {
153
- "type": "object",
154
- "title": "Text",
155
- "description": "Exactly matched text",
156
- "properties": {
157
- "type": {
158
- "enum": ["text"]
159
- },
160
- "text": {"title": "Text", "type": "string"}
161
- },
162
- "additionalProperties": false,
163
- "required": ["type", "text"]
164
- },
165
11
  "ui_element": {
166
12
  "type": "object",
167
13
  "title": "UI Element",
@@ -170,7 +16,17 @@
170
16
  "type": {
171
17
  "enum": ["ui_element"]
172
18
  },
173
- "element": {"title": "Element", "type": "string"}
19
+ "element": {"title": "Element", "type": "string"},
20
+ "focus_x": {"title": "Focus offset for x-axis from top left corner", "type": "integer", "options": {"hidden": true}},
21
+ "focus_y": {"title": "Focus offset for y-axis from top left corner", "type": "integer", "options": {"hidden": true}},
22
+ "match_mode": {
23
+ "enum": ["pixel", "pixel_and_ocr"]
24
+ },
25
+ "ocr_expression": {
26
+ "title": "Expression to use for text matching",
27
+ "type": "string",
28
+ "maxLength": 999
29
+ }
174
30
  },
175
31
  "additionalProperties": false,
176
32
  "required": ["type", "element"]
@@ -230,7 +86,7 @@
230
86
  "title": "Target",
231
87
  "$ref": "#/definitions/noun"
232
88
  },
233
- "button": {"title": "button", "type": "string", "enum": ["left", "middle", "right"]}
89
+ "button": {"title": "Mouse Button", "type": "string", "enum": ["left", "middle", "right"]}
234
90
  },
235
91
  "additionalProperties": false,
236
92
  "required": ["action", "target"]
@@ -265,7 +121,8 @@
265
121
  "title": "Target",
266
122
  "$ref": "#/definitions/noun"
267
123
  },
268
- "text": {"title": "Text", "type": "string"}
124
+ "text": {"title": "Text", "type": "string"},
125
+ "method": { "title": "Text entry method", "type": "string", "enum": ["pasting", "typing"] }
269
126
  },
270
127
  "additionalProperties": false,
271
128
  "required": ["action", "target", "text"]
@@ -279,7 +136,8 @@
279
136
  "enum": ["type"]
280
137
  },
281
138
  "custom_action_id": {"title": "Custom Action ID", "type": "integer"},
282
- "text": {"title": "Text", "type": "string"}
139
+ "text": {"title": "Text", "type": "string"},
140
+ "method": { "title": "Text entry method", "type": "string", "enum": ["pasting", "typing"] }
283
141
  },
284
142
  "additionalProperties": false,
285
143
  "required": ["action", "text"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wisp-schema
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.2
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Grodowski