@kaeawc/auto-mobile 0.0.18 → 0.0.20
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 +3 -3
- package/README.md.backup +3 -3
- package/dist/schemas/test-plan.schema.json +558 -0
- package/dist/schemas/tool-definitions.json +440 -145
- package/dist/src/index.js +223 -214
- package/dist/src/index.js.map +1 -1
- package/package.json +2 -2
- package/schemas/test-plan.schema.json +558 -0
- package/schemas/tool-definitions.json +544 -145
package/README.md
CHANGED
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|

|
|
9
9
|

|
|
10
10
|
|
|
11
|
-

|
|
12
|
+

|
|
13
|
+

|
|
14
14
|

|
|
15
15
|

|
|
16
16
|
|
package/README.md.backup
CHANGED
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|

|
|
9
9
|

|
|
10
10
|
|
|
11
|
-

|
|
12
|
+

|
|
13
|
+

|
|
14
14
|

|
|
15
15
|

|
|
16
16
|
|
|
@@ -420,6 +420,323 @@
|
|
|
420
420
|
}
|
|
421
421
|
]
|
|
422
422
|
}
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"if": {
|
|
426
|
+
"properties": {
|
|
427
|
+
"tool": {
|
|
428
|
+
"const": "setAppPermissions"
|
|
429
|
+
}
|
|
430
|
+
},
|
|
431
|
+
"required": [
|
|
432
|
+
"tool"
|
|
433
|
+
]
|
|
434
|
+
},
|
|
435
|
+
"then": {
|
|
436
|
+
"properties": {
|
|
437
|
+
"params": {
|
|
438
|
+
"$ref": "#/$defs/setAppPermissionsParams"
|
|
439
|
+
},
|
|
440
|
+
"appId": {
|
|
441
|
+
"type": "string",
|
|
442
|
+
"description": "App package ID or bundle identifier",
|
|
443
|
+
"minLength": 1
|
|
444
|
+
},
|
|
445
|
+
"action": {
|
|
446
|
+
"type": "string",
|
|
447
|
+
"enum": [
|
|
448
|
+
"grant",
|
|
449
|
+
"revoke",
|
|
450
|
+
"reset"
|
|
451
|
+
],
|
|
452
|
+
"description": "Permission action. Defaults to grant."
|
|
453
|
+
},
|
|
454
|
+
"permissions": {
|
|
455
|
+
"type": "array",
|
|
456
|
+
"description": "Runtime permissions or simulator privacy services to change",
|
|
457
|
+
"minItems": 1,
|
|
458
|
+
"items": {
|
|
459
|
+
"type": "string",
|
|
460
|
+
"minLength": 1
|
|
461
|
+
}
|
|
462
|
+
},
|
|
463
|
+
"userId": {
|
|
464
|
+
"type": "integer",
|
|
465
|
+
"minimum": 0,
|
|
466
|
+
"description": "Android user id for runtime permission grants"
|
|
467
|
+
},
|
|
468
|
+
"notificationPolicyAccess": {
|
|
469
|
+
"type": "boolean",
|
|
470
|
+
"description": "Android only: set notification policy / DND access"
|
|
471
|
+
},
|
|
472
|
+
"scheduleExactAlarm": {
|
|
473
|
+
"type": "string",
|
|
474
|
+
"enum": [
|
|
475
|
+
"allow",
|
|
476
|
+
"deny"
|
|
477
|
+
],
|
|
478
|
+
"description": "Android only: set UID-level SCHEDULE_EXACT_ALARM appop"
|
|
479
|
+
},
|
|
480
|
+
"platform": {
|
|
481
|
+
"type": "string",
|
|
482
|
+
"enum": [
|
|
483
|
+
"android",
|
|
484
|
+
"ios"
|
|
485
|
+
],
|
|
486
|
+
"description": "Platform"
|
|
487
|
+
},
|
|
488
|
+
"sessionUuid": {
|
|
489
|
+
"type": "string",
|
|
490
|
+
"description": "Session UUID for device targeting"
|
|
491
|
+
},
|
|
492
|
+
"keepScreenAwake": {
|
|
493
|
+
"type": "boolean",
|
|
494
|
+
"description": "Keep physical Android devices awake during the session (default: true)"
|
|
495
|
+
},
|
|
496
|
+
"device": {
|
|
497
|
+
"type": "string",
|
|
498
|
+
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")"
|
|
499
|
+
},
|
|
500
|
+
"deviceId": {
|
|
501
|
+
"type": "string",
|
|
502
|
+
"description": "Device ID override"
|
|
503
|
+
}
|
|
504
|
+
},
|
|
505
|
+
"anyOf": [
|
|
506
|
+
{
|
|
507
|
+
"required": [
|
|
508
|
+
"appId",
|
|
509
|
+
"permissions"
|
|
510
|
+
]
|
|
511
|
+
},
|
|
512
|
+
{
|
|
513
|
+
"required": [
|
|
514
|
+
"appId",
|
|
515
|
+
"notificationPolicyAccess"
|
|
516
|
+
]
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
"required": [
|
|
520
|
+
"appId",
|
|
521
|
+
"scheduleExactAlarm"
|
|
522
|
+
]
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
"required": [
|
|
526
|
+
"params"
|
|
527
|
+
]
|
|
528
|
+
}
|
|
529
|
+
]
|
|
530
|
+
}
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"if": {
|
|
534
|
+
"properties": {
|
|
535
|
+
"tool": {
|
|
536
|
+
"const": "getAppPermissions"
|
|
537
|
+
}
|
|
538
|
+
},
|
|
539
|
+
"required": [
|
|
540
|
+
"tool"
|
|
541
|
+
]
|
|
542
|
+
},
|
|
543
|
+
"then": {
|
|
544
|
+
"properties": {
|
|
545
|
+
"params": {
|
|
546
|
+
"$ref": "#/$defs/getAppPermissionsParams"
|
|
547
|
+
},
|
|
548
|
+
"appId": {
|
|
549
|
+
"type": "string",
|
|
550
|
+
"description": "App package ID or bundle identifier",
|
|
551
|
+
"minLength": 1
|
|
552
|
+
},
|
|
553
|
+
"permissions": {
|
|
554
|
+
"type": "array",
|
|
555
|
+
"description": "Optional permission names or simulator privacy services to query",
|
|
556
|
+
"minItems": 1,
|
|
557
|
+
"items": {
|
|
558
|
+
"type": "string",
|
|
559
|
+
"minLength": 1
|
|
560
|
+
}
|
|
561
|
+
},
|
|
562
|
+
"platform": {
|
|
563
|
+
"type": "string",
|
|
564
|
+
"enum": [
|
|
565
|
+
"android",
|
|
566
|
+
"ios"
|
|
567
|
+
],
|
|
568
|
+
"description": "Platform"
|
|
569
|
+
},
|
|
570
|
+
"sessionUuid": {
|
|
571
|
+
"type": "string",
|
|
572
|
+
"description": "Session UUID for device targeting"
|
|
573
|
+
},
|
|
574
|
+
"keepScreenAwake": {
|
|
575
|
+
"type": "boolean",
|
|
576
|
+
"description": "Keep physical Android devices awake during the session (default: true)"
|
|
577
|
+
},
|
|
578
|
+
"device": {
|
|
579
|
+
"type": "string",
|
|
580
|
+
"description": "Device label for multi-device plans (e.g., \"A\", \"B\")"
|
|
581
|
+
},
|
|
582
|
+
"deviceId": {
|
|
583
|
+
"type": "string",
|
|
584
|
+
"description": "Device ID override"
|
|
585
|
+
}
|
|
586
|
+
},
|
|
587
|
+
"anyOf": [
|
|
588
|
+
{
|
|
589
|
+
"required": [
|
|
590
|
+
"appId"
|
|
591
|
+
]
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"required": [
|
|
595
|
+
"params"
|
|
596
|
+
]
|
|
597
|
+
}
|
|
598
|
+
]
|
|
599
|
+
}
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
"if": {
|
|
603
|
+
"properties": {
|
|
604
|
+
"tool": {
|
|
605
|
+
"const": "getNotificationPolicy"
|
|
606
|
+
}
|
|
607
|
+
},
|
|
608
|
+
"required": [
|
|
609
|
+
"tool"
|
|
610
|
+
]
|
|
611
|
+
},
|
|
612
|
+
"then": {
|
|
613
|
+
"properties": {
|
|
614
|
+
"params": {
|
|
615
|
+
"$ref": "#/$defs/getNotificationPolicyParams"
|
|
616
|
+
},
|
|
617
|
+
"appId": {
|
|
618
|
+
"type": "string",
|
|
619
|
+
"description": "App package ID or bundle identifier",
|
|
620
|
+
"minLength": 1
|
|
621
|
+
}
|
|
622
|
+
},
|
|
623
|
+
"anyOf": [
|
|
624
|
+
{
|
|
625
|
+
"required": [
|
|
626
|
+
"appId"
|
|
627
|
+
]
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
"required": [
|
|
631
|
+
"params"
|
|
632
|
+
]
|
|
633
|
+
}
|
|
634
|
+
]
|
|
635
|
+
}
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
"if": {
|
|
639
|
+
"properties": {
|
|
640
|
+
"tool": {
|
|
641
|
+
"const": "setNotificationPolicy"
|
|
642
|
+
}
|
|
643
|
+
},
|
|
644
|
+
"required": [
|
|
645
|
+
"tool"
|
|
646
|
+
]
|
|
647
|
+
},
|
|
648
|
+
"then": {
|
|
649
|
+
"properties": {
|
|
650
|
+
"params": {
|
|
651
|
+
"$ref": "#/$defs/setNotificationPolicyParams"
|
|
652
|
+
},
|
|
653
|
+
"appId": {
|
|
654
|
+
"type": "string",
|
|
655
|
+
"description": "App package ID or bundle identifier",
|
|
656
|
+
"minLength": 1
|
|
657
|
+
},
|
|
658
|
+
"policyAccess": {
|
|
659
|
+
"type": "boolean",
|
|
660
|
+
"description": "Android only: allow or revoke app notification policy / DND access"
|
|
661
|
+
}
|
|
662
|
+
},
|
|
663
|
+
"anyOf": [
|
|
664
|
+
{
|
|
665
|
+
"required": [
|
|
666
|
+
"appId",
|
|
667
|
+
"policyAccess"
|
|
668
|
+
]
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
"required": [
|
|
672
|
+
"params"
|
|
673
|
+
]
|
|
674
|
+
}
|
|
675
|
+
]
|
|
676
|
+
}
|
|
677
|
+
},
|
|
678
|
+
{
|
|
679
|
+
"if": {
|
|
680
|
+
"properties": {
|
|
681
|
+
"tool": {
|
|
682
|
+
"const": "getDeviceState"
|
|
683
|
+
}
|
|
684
|
+
},
|
|
685
|
+
"required": [
|
|
686
|
+
"tool"
|
|
687
|
+
]
|
|
688
|
+
},
|
|
689
|
+
"then": {
|
|
690
|
+
"properties": {
|
|
691
|
+
"params": {
|
|
692
|
+
"$ref": "#/$defs/getDeviceStateParams"
|
|
693
|
+
},
|
|
694
|
+
"include": {
|
|
695
|
+
"type": "array",
|
|
696
|
+
"description": "Optional device state fields to read",
|
|
697
|
+
"items": {
|
|
698
|
+
"type": "string",
|
|
699
|
+
"enum": [
|
|
700
|
+
"doNotDisturb"
|
|
701
|
+
]
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
},
|
|
707
|
+
{
|
|
708
|
+
"if": {
|
|
709
|
+
"properties": {
|
|
710
|
+
"tool": {
|
|
711
|
+
"const": "setDeviceState"
|
|
712
|
+
}
|
|
713
|
+
},
|
|
714
|
+
"required": [
|
|
715
|
+
"tool"
|
|
716
|
+
]
|
|
717
|
+
},
|
|
718
|
+
"then": {
|
|
719
|
+
"properties": {
|
|
720
|
+
"params": {
|
|
721
|
+
"$ref": "#/$defs/setDeviceStateParams"
|
|
722
|
+
},
|
|
723
|
+
"doNotDisturb": {
|
|
724
|
+
"$ref": "#/$defs/doNotDisturbStateInput"
|
|
725
|
+
}
|
|
726
|
+
},
|
|
727
|
+
"anyOf": [
|
|
728
|
+
{
|
|
729
|
+
"required": [
|
|
730
|
+
"doNotDisturb"
|
|
731
|
+
]
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"required": [
|
|
735
|
+
"params"
|
|
736
|
+
]
|
|
737
|
+
}
|
|
738
|
+
]
|
|
739
|
+
}
|
|
423
740
|
}
|
|
424
741
|
]
|
|
425
742
|
},
|
|
@@ -731,6 +1048,247 @@
|
|
|
731
1048
|
"additionalProperties": true,
|
|
732
1049
|
"description": "Parameters for highlight"
|
|
733
1050
|
},
|
|
1051
|
+
"doNotDisturbStateInput": {
|
|
1052
|
+
"type": "object",
|
|
1053
|
+
"additionalProperties": true,
|
|
1054
|
+
"properties": {
|
|
1055
|
+
"enabled": {
|
|
1056
|
+
"type": "boolean",
|
|
1057
|
+
"description": "Enable or disable Do Not Disturb"
|
|
1058
|
+
},
|
|
1059
|
+
"mode": {
|
|
1060
|
+
"type": "string",
|
|
1061
|
+
"enum": [
|
|
1062
|
+
"off",
|
|
1063
|
+
"none",
|
|
1064
|
+
"priority",
|
|
1065
|
+
"alarms"
|
|
1066
|
+
],
|
|
1067
|
+
"description": "Do Not Disturb mode"
|
|
1068
|
+
}
|
|
1069
|
+
},
|
|
1070
|
+
"anyOf": [
|
|
1071
|
+
{
|
|
1072
|
+
"required": [
|
|
1073
|
+
"enabled"
|
|
1074
|
+
]
|
|
1075
|
+
},
|
|
1076
|
+
{
|
|
1077
|
+
"required": [
|
|
1078
|
+
"mode"
|
|
1079
|
+
]
|
|
1080
|
+
}
|
|
1081
|
+
],
|
|
1082
|
+
"description": "Do Not Disturb state input"
|
|
1083
|
+
},
|
|
1084
|
+
"getDeviceStateParams": {
|
|
1085
|
+
"type": "object",
|
|
1086
|
+
"additionalProperties": true,
|
|
1087
|
+
"properties": {
|
|
1088
|
+
"include": {
|
|
1089
|
+
"type": "array",
|
|
1090
|
+
"items": {
|
|
1091
|
+
"type": "string",
|
|
1092
|
+
"enum": [
|
|
1093
|
+
"doNotDisturb"
|
|
1094
|
+
]
|
|
1095
|
+
},
|
|
1096
|
+
"description": "Optional device state fields to read"
|
|
1097
|
+
}
|
|
1098
|
+
},
|
|
1099
|
+
"description": "Parameters for getDeviceState"
|
|
1100
|
+
},
|
|
1101
|
+
"setDeviceStateParams": {
|
|
1102
|
+
"type": "object",
|
|
1103
|
+
"additionalProperties": true,
|
|
1104
|
+
"properties": {
|
|
1105
|
+
"doNotDisturb": {
|
|
1106
|
+
"$ref": "#/$defs/doNotDisturbStateInput"
|
|
1107
|
+
}
|
|
1108
|
+
},
|
|
1109
|
+
"anyOf": [
|
|
1110
|
+
{
|
|
1111
|
+
"required": [
|
|
1112
|
+
"doNotDisturb"
|
|
1113
|
+
]
|
|
1114
|
+
}
|
|
1115
|
+
],
|
|
1116
|
+
"description": "Parameters for setDeviceState"
|
|
1117
|
+
},
|
|
1118
|
+
"getNotificationPolicyParams": {
|
|
1119
|
+
"type": "object",
|
|
1120
|
+
"required": [
|
|
1121
|
+
"appId"
|
|
1122
|
+
],
|
|
1123
|
+
"additionalProperties": true,
|
|
1124
|
+
"properties": {
|
|
1125
|
+
"appId": {
|
|
1126
|
+
"type": "string",
|
|
1127
|
+
"minLength": 1,
|
|
1128
|
+
"description": "App package ID or bundle identifier"
|
|
1129
|
+
}
|
|
1130
|
+
},
|
|
1131
|
+
"description": "Parameters for getNotificationPolicy"
|
|
1132
|
+
},
|
|
1133
|
+
"setNotificationPolicyParams": {
|
|
1134
|
+
"type": "object",
|
|
1135
|
+
"required": [
|
|
1136
|
+
"appId",
|
|
1137
|
+
"policyAccess"
|
|
1138
|
+
],
|
|
1139
|
+
"additionalProperties": true,
|
|
1140
|
+
"properties": {
|
|
1141
|
+
"appId": {
|
|
1142
|
+
"type": "string",
|
|
1143
|
+
"minLength": 1,
|
|
1144
|
+
"description": "App package ID or bundle identifier"
|
|
1145
|
+
},
|
|
1146
|
+
"policyAccess": {
|
|
1147
|
+
"type": "boolean",
|
|
1148
|
+
"description": "Android only: allow or revoke app notification policy / DND access"
|
|
1149
|
+
}
|
|
1150
|
+
},
|
|
1151
|
+
"description": "Parameters for setNotificationPolicy"
|
|
1152
|
+
},
|
|
1153
|
+
"setAppPermissionsParams": {
|
|
1154
|
+
"type": "object",
|
|
1155
|
+
"required": [
|
|
1156
|
+
"appId"
|
|
1157
|
+
],
|
|
1158
|
+
"additionalProperties": true,
|
|
1159
|
+
"properties": {
|
|
1160
|
+
"appId": {
|
|
1161
|
+
"type": "string",
|
|
1162
|
+
"minLength": 1,
|
|
1163
|
+
"description": "App package ID or bundle identifier"
|
|
1164
|
+
},
|
|
1165
|
+
"action": {
|
|
1166
|
+
"type": "string",
|
|
1167
|
+
"enum": [
|
|
1168
|
+
"grant",
|
|
1169
|
+
"revoke",
|
|
1170
|
+
"reset"
|
|
1171
|
+
],
|
|
1172
|
+
"description": "Permission action. Defaults to grant."
|
|
1173
|
+
},
|
|
1174
|
+
"permissions": {
|
|
1175
|
+
"type": "array",
|
|
1176
|
+
"minItems": 1,
|
|
1177
|
+
"items": {
|
|
1178
|
+
"type": "string",
|
|
1179
|
+
"minLength": 1
|
|
1180
|
+
},
|
|
1181
|
+
"description": "Runtime permissions or simulator privacy services to change"
|
|
1182
|
+
},
|
|
1183
|
+
"userId": {
|
|
1184
|
+
"type": "integer",
|
|
1185
|
+
"minimum": 0,
|
|
1186
|
+
"description": "Android user id for runtime permission grants"
|
|
1187
|
+
},
|
|
1188
|
+
"notificationPolicyAccess": {
|
|
1189
|
+
"type": "boolean",
|
|
1190
|
+
"description": "Android only: set notification policy / DND access"
|
|
1191
|
+
},
|
|
1192
|
+
"scheduleExactAlarm": {
|
|
1193
|
+
"type": "string",
|
|
1194
|
+
"enum": [
|
|
1195
|
+
"allow",
|
|
1196
|
+
"deny"
|
|
1197
|
+
],
|
|
1198
|
+
"description": "Android only: set UID-level SCHEDULE_EXACT_ALARM appop"
|
|
1199
|
+
},
|
|
1200
|
+
"platform": {
|
|
1201
|
+
"type": "string",
|
|
1202
|
+
"enum": [
|
|
1203
|
+
"android",
|
|
1204
|
+
"ios"
|
|
1205
|
+
],
|
|
1206
|
+
"description": "Platform"
|
|
1207
|
+
},
|
|
1208
|
+
"sessionUuid": {
|
|
1209
|
+
"type": "string",
|
|
1210
|
+
"description": "Session UUID for device targeting"
|
|
1211
|
+
},
|
|
1212
|
+
"keepScreenAwake": {
|
|
1213
|
+
"type": "boolean",
|
|
1214
|
+
"description": "Keep physical Android devices awake during the session (default: true)"
|
|
1215
|
+
},
|
|
1216
|
+
"device": {
|
|
1217
|
+
"type": "string",
|
|
1218
|
+
"description": "Device label for multi-device plans"
|
|
1219
|
+
},
|
|
1220
|
+
"deviceId": {
|
|
1221
|
+
"type": "string",
|
|
1222
|
+
"description": "Device ID override"
|
|
1223
|
+
}
|
|
1224
|
+
},
|
|
1225
|
+
"anyOf": [
|
|
1226
|
+
{
|
|
1227
|
+
"required": [
|
|
1228
|
+
"permissions"
|
|
1229
|
+
]
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
"required": [
|
|
1233
|
+
"notificationPolicyAccess"
|
|
1234
|
+
]
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
"required": [
|
|
1238
|
+
"scheduleExactAlarm"
|
|
1239
|
+
]
|
|
1240
|
+
}
|
|
1241
|
+
],
|
|
1242
|
+
"description": "Parameters for setAppPermissions"
|
|
1243
|
+
},
|
|
1244
|
+
"getAppPermissionsParams": {
|
|
1245
|
+
"type": "object",
|
|
1246
|
+
"required": [
|
|
1247
|
+
"appId"
|
|
1248
|
+
],
|
|
1249
|
+
"additionalProperties": true,
|
|
1250
|
+
"properties": {
|
|
1251
|
+
"appId": {
|
|
1252
|
+
"type": "string",
|
|
1253
|
+
"minLength": 1,
|
|
1254
|
+
"description": "App package ID or bundle identifier"
|
|
1255
|
+
},
|
|
1256
|
+
"permissions": {
|
|
1257
|
+
"type": "array",
|
|
1258
|
+
"minItems": 1,
|
|
1259
|
+
"items": {
|
|
1260
|
+
"type": "string",
|
|
1261
|
+
"minLength": 1
|
|
1262
|
+
},
|
|
1263
|
+
"description": "Optional permission names or simulator privacy services to query"
|
|
1264
|
+
},
|
|
1265
|
+
"platform": {
|
|
1266
|
+
"type": "string",
|
|
1267
|
+
"enum": [
|
|
1268
|
+
"android",
|
|
1269
|
+
"ios"
|
|
1270
|
+
],
|
|
1271
|
+
"description": "Platform"
|
|
1272
|
+
},
|
|
1273
|
+
"sessionUuid": {
|
|
1274
|
+
"type": "string",
|
|
1275
|
+
"description": "Session UUID for device targeting"
|
|
1276
|
+
},
|
|
1277
|
+
"keepScreenAwake": {
|
|
1278
|
+
"type": "boolean",
|
|
1279
|
+
"description": "Keep physical Android devices awake during the session (default: true)"
|
|
1280
|
+
},
|
|
1281
|
+
"device": {
|
|
1282
|
+
"type": "string",
|
|
1283
|
+
"description": "Device label for multi-device plans"
|
|
1284
|
+
},
|
|
1285
|
+
"deviceId": {
|
|
1286
|
+
"type": "string",
|
|
1287
|
+
"description": "Device ID override"
|
|
1288
|
+
}
|
|
1289
|
+
},
|
|
1290
|
+
"description": "Parameters for getAppPermissions"
|
|
1291
|
+
},
|
|
734
1292
|
"expectation": {
|
|
735
1293
|
"type": "object",
|
|
736
1294
|
"required": ["type"],
|