@beryl-so/cli 0.78.0 → 0.92.1
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.
- package/README.md +18 -7
- package/dist/adapters/mcp.js +23 -10
- package/dist/beryl-test-skill.js +177 -33
- package/dist/code-ref.js +81 -0
- package/dist/commands/accounts.js +74 -18
- package/dist/commands/config-vars.js +207 -20
- package/dist/commands/environments.js +14 -7
- package/dist/commands/init.js +2 -2
- package/dist/commands/jobs.js +152 -20
- package/dist/commands/projects.js +115 -20
- package/dist/commands/runs.js +68 -8
- package/dist/commands/tests.js +44 -9
- package/dist/commands/util.js +38 -6
- package/dist/commands/watch.js +3 -2
- package/dist/config.js +2 -0
- package/dist/lint.js +180 -3
- package/dist/schema.generated.js +178 -7
- package/dist/skill-tables.js +3 -0
- package/package.json +1 -1
package/dist/schema.generated.js
CHANGED
|
@@ -15,6 +15,7 @@ export const ACTION_PLAN_SCHEMA = {
|
|
|
15
15
|
"hover",
|
|
16
16
|
"scroll",
|
|
17
17
|
"wait_for",
|
|
18
|
+
"wait_until",
|
|
18
19
|
"expect",
|
|
19
20
|
"capture_count",
|
|
20
21
|
"capture_text",
|
|
@@ -27,7 +28,9 @@ export const ACTION_PLAN_SCHEMA = {
|
|
|
27
28
|
"drag",
|
|
28
29
|
"third_party_authorize",
|
|
29
30
|
"await_third_party",
|
|
30
|
-
"send_third_party"
|
|
31
|
+
"send_third_party",
|
|
32
|
+
"sign_in_as",
|
|
33
|
+
"create_account"
|
|
31
34
|
],
|
|
32
35
|
"title": "ActionType",
|
|
33
36
|
"type": "string"
|
|
@@ -349,6 +352,29 @@ export const ACTION_PLAN_SCHEMA = {
|
|
|
349
352
|
]
|
|
350
353
|
}
|
|
351
354
|
},
|
|
355
|
+
{
|
|
356
|
+
"if": {
|
|
357
|
+
"properties": {
|
|
358
|
+
"action": {
|
|
359
|
+
"const": "wait_until"
|
|
360
|
+
}
|
|
361
|
+
},
|
|
362
|
+
"required": [
|
|
363
|
+
"action"
|
|
364
|
+
]
|
|
365
|
+
},
|
|
366
|
+
"then": {
|
|
367
|
+
"properties": {
|
|
368
|
+
"selector": {
|
|
369
|
+
"minLength": 1,
|
|
370
|
+
"type": "string"
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
"required": [
|
|
374
|
+
"selector"
|
|
375
|
+
]
|
|
376
|
+
}
|
|
377
|
+
},
|
|
352
378
|
{
|
|
353
379
|
"if": {
|
|
354
380
|
"properties": {
|
|
@@ -667,6 +693,45 @@ export const ACTION_PLAN_SCHEMA = {
|
|
|
667
693
|
]
|
|
668
694
|
}
|
|
669
695
|
},
|
|
696
|
+
{
|
|
697
|
+
"if": {
|
|
698
|
+
"properties": {
|
|
699
|
+
"action": {
|
|
700
|
+
"const": "sign_in_as"
|
|
701
|
+
}
|
|
702
|
+
},
|
|
703
|
+
"required": [
|
|
704
|
+
"action"
|
|
705
|
+
]
|
|
706
|
+
},
|
|
707
|
+
"then": {
|
|
708
|
+
"properties": {
|
|
709
|
+
"account": {
|
|
710
|
+
"minLength": 1,
|
|
711
|
+
"type": "string"
|
|
712
|
+
}
|
|
713
|
+
},
|
|
714
|
+
"required": [
|
|
715
|
+
"account"
|
|
716
|
+
]
|
|
717
|
+
}
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
"if": {
|
|
721
|
+
"properties": {
|
|
722
|
+
"action": {
|
|
723
|
+
"const": "create_account"
|
|
724
|
+
}
|
|
725
|
+
},
|
|
726
|
+
"required": [
|
|
727
|
+
"action"
|
|
728
|
+
]
|
|
729
|
+
},
|
|
730
|
+
"then": {
|
|
731
|
+
"properties": {},
|
|
732
|
+
"required": []
|
|
733
|
+
}
|
|
734
|
+
},
|
|
670
735
|
{
|
|
671
736
|
"if": {
|
|
672
737
|
"properties": {
|
|
@@ -1067,9 +1132,41 @@ export const ACTION_PLAN_SCHEMA = {
|
|
|
1067
1132
|
}
|
|
1068
1133
|
}
|
|
1069
1134
|
}
|
|
1135
|
+
},
|
|
1136
|
+
{
|
|
1137
|
+
"if": {
|
|
1138
|
+
"properties": {
|
|
1139
|
+
"expect_kind": {
|
|
1140
|
+
"not": {
|
|
1141
|
+
"const": "have_value"
|
|
1142
|
+
}
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1145
|
+
},
|
|
1146
|
+
"then": {
|
|
1147
|
+
"properties": {
|
|
1148
|
+
"expect_text": {
|
|
1149
|
+
"not": {
|
|
1150
|
+
"pattern": "\\{\\{\\s*(?!(?:timestamp|unique|uuid)\\s*\\}\\})[A-Za-z0-9_]+\\s*\\}\\}"
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1070
1155
|
}
|
|
1071
1156
|
],
|
|
1072
1157
|
"properties": {
|
|
1158
|
+
"account": {
|
|
1159
|
+
"anyOf": [
|
|
1160
|
+
{
|
|
1161
|
+
"type": "string"
|
|
1162
|
+
},
|
|
1163
|
+
{
|
|
1164
|
+
"type": "null"
|
|
1165
|
+
}
|
|
1166
|
+
],
|
|
1167
|
+
"default": null,
|
|
1168
|
+
"title": "Account"
|
|
1169
|
+
},
|
|
1073
1170
|
"action": {
|
|
1074
1171
|
"$ref": "#/$defs/ActionType"
|
|
1075
1172
|
},
|
|
@@ -1078,7 +1175,16 @@ export const ACTION_PLAN_SCHEMA = {
|
|
|
1078
1175
|
{
|
|
1079
1176
|
"not": {
|
|
1080
1177
|
"enum": [
|
|
1178
|
+
"created_password",
|
|
1081
1179
|
"inbox_address",
|
|
1180
|
+
"inbox_address_2",
|
|
1181
|
+
"inbox_address_3",
|
|
1182
|
+
"inbox_address_4",
|
|
1183
|
+
"inbox_address_5",
|
|
1184
|
+
"inbox_address_6",
|
|
1185
|
+
"inbox_address_7",
|
|
1186
|
+
"inbox_address_8",
|
|
1187
|
+
"inbox_address_9",
|
|
1082
1188
|
"login_email",
|
|
1083
1189
|
"login_password",
|
|
1084
1190
|
"mailbox_address",
|
|
@@ -1109,6 +1215,20 @@ export const ACTION_PLAN_SCHEMA = {
|
|
|
1109
1215
|
"default": null,
|
|
1110
1216
|
"title": "Capture Ref"
|
|
1111
1217
|
},
|
|
1218
|
+
"deadline_s": {
|
|
1219
|
+
"anyOf": [
|
|
1220
|
+
{
|
|
1221
|
+
"maximum": 900,
|
|
1222
|
+
"minimum": 1,
|
|
1223
|
+
"type": "integer"
|
|
1224
|
+
},
|
|
1225
|
+
{
|
|
1226
|
+
"type": "null"
|
|
1227
|
+
}
|
|
1228
|
+
],
|
|
1229
|
+
"default": null,
|
|
1230
|
+
"title": "Deadline S"
|
|
1231
|
+
},
|
|
1112
1232
|
"dialog": {
|
|
1113
1233
|
"anyOf": [
|
|
1114
1234
|
{
|
|
@@ -1132,6 +1252,20 @@ export const ACTION_PLAN_SCHEMA = {
|
|
|
1132
1252
|
"default": null,
|
|
1133
1253
|
"title": "Dialog Expect Text"
|
|
1134
1254
|
},
|
|
1255
|
+
"every_s": {
|
|
1256
|
+
"anyOf": [
|
|
1257
|
+
{
|
|
1258
|
+
"maximum": 900,
|
|
1259
|
+
"minimum": 1,
|
|
1260
|
+
"type": "integer"
|
|
1261
|
+
},
|
|
1262
|
+
{
|
|
1263
|
+
"type": "null"
|
|
1264
|
+
}
|
|
1265
|
+
],
|
|
1266
|
+
"default": null,
|
|
1267
|
+
"title": "Every S"
|
|
1268
|
+
},
|
|
1135
1269
|
"expect_count": {
|
|
1136
1270
|
"anyOf": [
|
|
1137
1271
|
{
|
|
@@ -1171,9 +1305,6 @@ export const ACTION_PLAN_SCHEMA = {
|
|
|
1171
1305
|
"expect_text": {
|
|
1172
1306
|
"anyOf": [
|
|
1173
1307
|
{
|
|
1174
|
-
"not": {
|
|
1175
|
-
"pattern": "\\{\\{\\s*(?!(?:timestamp|unique|uuid)\\s*\\}\\})[A-Za-z0-9_]+\\s*\\}\\}"
|
|
1176
|
-
},
|
|
1177
1308
|
"type": "string"
|
|
1178
1309
|
},
|
|
1179
1310
|
{
|
|
@@ -1206,6 +1337,21 @@ export const ACTION_PLAN_SCHEMA = {
|
|
|
1206
1337
|
"default": null,
|
|
1207
1338
|
"title": "Extract Pattern"
|
|
1208
1339
|
},
|
|
1340
|
+
"fail_on": {
|
|
1341
|
+
"anyOf": [
|
|
1342
|
+
{
|
|
1343
|
+
"items": {
|
|
1344
|
+
"type": "string"
|
|
1345
|
+
},
|
|
1346
|
+
"type": "array"
|
|
1347
|
+
},
|
|
1348
|
+
{
|
|
1349
|
+
"type": "null"
|
|
1350
|
+
}
|
|
1351
|
+
],
|
|
1352
|
+
"default": null,
|
|
1353
|
+
"title": "Fail On"
|
|
1354
|
+
},
|
|
1209
1355
|
"from_contains": {
|
|
1210
1356
|
"anyOf": [
|
|
1211
1357
|
{
|
|
@@ -1245,9 +1391,6 @@ export const ACTION_PLAN_SCHEMA = {
|
|
|
1245
1391
|
"option": {
|
|
1246
1392
|
"anyOf": [
|
|
1247
1393
|
{
|
|
1248
|
-
"not": {
|
|
1249
|
-
"pattern": "\\{\\{\\s*(?!(?:timestamp|unique|uuid)\\s*\\}\\})[A-Za-z0-9_]+\\s*\\}\\}"
|
|
1250
|
-
},
|
|
1251
1394
|
"type": "string"
|
|
1252
1395
|
},
|
|
1253
1396
|
{
|
|
@@ -1273,6 +1416,34 @@ export const ACTION_PLAN_SCHEMA = {
|
|
|
1273
1416
|
],
|
|
1274
1417
|
"default": null
|
|
1275
1418
|
},
|
|
1419
|
+
"recipient": {
|
|
1420
|
+
"anyOf": [
|
|
1421
|
+
{
|
|
1422
|
+
"enum": [
|
|
1423
|
+
"inbox_address",
|
|
1424
|
+
"inbox_address_2",
|
|
1425
|
+
"inbox_address_3",
|
|
1426
|
+
"inbox_address_4",
|
|
1427
|
+
"inbox_address_5",
|
|
1428
|
+
"inbox_address_6",
|
|
1429
|
+
"inbox_address_7",
|
|
1430
|
+
"inbox_address_8",
|
|
1431
|
+
"inbox_address_9"
|
|
1432
|
+
],
|
|
1433
|
+
"type": "string"
|
|
1434
|
+
},
|
|
1435
|
+
{
|
|
1436
|
+
"type": "null"
|
|
1437
|
+
}
|
|
1438
|
+
],
|
|
1439
|
+
"default": null,
|
|
1440
|
+
"title": "Recipient"
|
|
1441
|
+
},
|
|
1442
|
+
"reload": {
|
|
1443
|
+
"default": false,
|
|
1444
|
+
"title": "Reload",
|
|
1445
|
+
"type": "boolean"
|
|
1446
|
+
},
|
|
1276
1447
|
"selector": {
|
|
1277
1448
|
"anyOf": [
|
|
1278
1449
|
{
|
package/dist/skill-tables.js
CHANGED
|
@@ -28,6 +28,7 @@ export const ACTION_DOCS = {
|
|
|
28
28
|
hover: "Hover the `selector` element",
|
|
29
29
|
scroll: "Scroll the page (no selector) or bring `selector` into view — see below",
|
|
30
30
|
wait_for: "Wait for the `selector` element to appear",
|
|
31
|
+
wait_until: "Hold the browser and poll `selector` every `every_s` until it appears or `deadline_s` passes (optional `reload`, `fail_on`): for a flow whose result lands minutes later",
|
|
31
32
|
expect: "Assert — kinds in the expect table below",
|
|
32
33
|
capture_count: "Bank the live count of `selector` matches under `capture_as` for a later `count_delta`",
|
|
33
34
|
capture_text: "Bank the `selector` element's visible text under `capture_as`, to restore it later via `{{handle}}`",
|
|
@@ -41,6 +42,8 @@ export const ACTION_DOCS = {
|
|
|
41
42
|
third_party_authorize: "Approve the `provider` install on its consent page as Beryl's account (cloud only, see third party integration tests)",
|
|
42
43
|
await_third_party: "Wait for the connected app's message on Beryl's `provider` account (cloud only)",
|
|
43
44
|
send_third_party: "Mention the connected app's bot with `value` as Beryl's `provider` account (cloud only)",
|
|
45
|
+
sign_in_as: "Continue as `account`: a test account label (signed in) or a fresh-address handle (signed out); switching back resumes that identity's page (see Two identities in one test)",
|
|
46
|
+
create_account: "Sign up a fresh user as `value` (default `{{inbox_address}}`) by replaying the default test account's signup plan (see Fresh users without typing the signup)",
|
|
44
47
|
};
|
|
45
48
|
export const EXPECT_DOCS = {
|
|
46
49
|
visible: "The element is visible",
|