@opencraw/driver 0.1.0 → 0.3.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.
@@ -3,7 +3,7 @@
3
3
  "$id": "https://opencraw/schemas/driver-protocol.schema.json",
4
4
  "title": "OpenCraw driver protocol",
5
5
  "description": "JSON-RPC 2.0 over stdio, one message per line. Methods with a result are requests; the rest are notifications.",
6
- "protocolVersion": "1.0.0",
6
+ "protocolVersion": "1.2.0",
7
7
  "methods": {
8
8
  "initialize": {
9
9
  "direction": "client-to-driver",
@@ -32,6 +32,15 @@
32
32
  "$ref": "#/$defs/run.result"
33
33
  }
34
34
  },
35
+ "work": {
36
+ "direction": "client-to-driver",
37
+ "params": {
38
+ "$ref": "#/$defs/work.params"
39
+ },
40
+ "result": {
41
+ "$ref": "#/$defs/work.result"
42
+ }
43
+ },
35
44
  "cancel": {
36
45
  "direction": "client-to-driver",
37
46
  "params": {
@@ -41,6 +50,33 @@
41
50
  "$ref": "#/$defs/cancel.result"
42
51
  }
43
52
  },
53
+ "probe": {
54
+ "direction": "client-to-driver",
55
+ "params": {
56
+ "$ref": "#/$defs/probe.params"
57
+ },
58
+ "result": {
59
+ "$ref": "#/$defs/probe.result"
60
+ }
61
+ },
62
+ "diff": {
63
+ "direction": "client-to-driver",
64
+ "params": {
65
+ "$ref": "#/$defs/diff.params"
66
+ },
67
+ "result": {
68
+ "$ref": "#/$defs/diff.result"
69
+ }
70
+ },
71
+ "export": {
72
+ "direction": "client-to-driver",
73
+ "params": {
74
+ "$ref": "#/$defs/export.params"
75
+ },
76
+ "result": {
77
+ "$ref": "#/$defs/export.result"
78
+ }
79
+ },
44
80
  "shutdown": {
45
81
  "direction": "client-to-driver",
46
82
  "result": {
@@ -56,6 +92,27 @@
56
92
  "$ref": "#/$defs/callout.result"
57
93
  }
58
94
  },
95
+ "work.next": {
96
+ "direction": "driver-to-client",
97
+ "params": {
98
+ "$ref": "#/$defs/work.next.params"
99
+ },
100
+ "result": {
101
+ "$ref": "#/$defs/work.next.result"
102
+ }
103
+ },
104
+ "work.done": {
105
+ "direction": "driver-to-client",
106
+ "params": {
107
+ "$ref": "#/$defs/work.done.params"
108
+ }
109
+ },
110
+ "work.failed": {
111
+ "direction": "driver-to-client",
112
+ "params": {
113
+ "$ref": "#/$defs/work.failed.params"
114
+ }
115
+ },
59
116
  "event": {
60
117
  "direction": "driver-to-client",
61
118
  "params": {
@@ -273,6 +330,24 @@
273
330
  "items": {
274
331
  "type": "string"
275
332
  }
333
+ },
334
+ "captchaSolvers": {
335
+ "type": "array",
336
+ "items": {
337
+ "type": "string"
338
+ }
339
+ },
340
+ "accessConfig": {
341
+ "type": "string"
342
+ },
343
+ "access": {
344
+ "type": "string"
345
+ },
346
+ "accessPlugins": {
347
+ "type": "array",
348
+ "items": {
349
+ "type": "string"
350
+ }
276
351
  }
277
352
  },
278
353
  "additionalProperties": false
@@ -290,6 +365,111 @@
290
365
  ],
291
366
  "additionalProperties": false
292
367
  },
368
+ "work.params": {
369
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
370
+ "type": "object",
371
+ "properties": {
372
+ "paths": {
373
+ "minItems": 1,
374
+ "type": "array",
375
+ "items": {
376
+ "type": "string"
377
+ }
378
+ },
379
+ "recipes": {
380
+ "minItems": 1,
381
+ "type": "array",
382
+ "items": {
383
+ "type": "object",
384
+ "propertyNames": {
385
+ "type": "string"
386
+ },
387
+ "additionalProperties": {}
388
+ }
389
+ },
390
+ "only": {
391
+ "type": "array",
392
+ "items": {
393
+ "type": "string"
394
+ }
395
+ },
396
+ "out": {
397
+ "type": "string"
398
+ },
399
+ "append": {
400
+ "type": "boolean"
401
+ },
402
+ "browser": {
403
+ "type": "object",
404
+ "properties": {
405
+ "headless": {
406
+ "type": "boolean"
407
+ },
408
+ "executablePath": {
409
+ "type": "string"
410
+ },
411
+ "ignoreHTTPSErrors": {
412
+ "type": "boolean"
413
+ }
414
+ },
415
+ "additionalProperties": false
416
+ },
417
+ "hooks": {
418
+ "type": "array",
419
+ "items": {
420
+ "type": "string"
421
+ }
422
+ },
423
+ "captchaSolvers": {
424
+ "type": "array",
425
+ "items": {
426
+ "type": "string"
427
+ }
428
+ },
429
+ "accessConfig": {
430
+ "type": "string"
431
+ },
432
+ "access": {
433
+ "type": "string"
434
+ },
435
+ "accessPlugins": {
436
+ "type": "array",
437
+ "items": {
438
+ "type": "string"
439
+ }
440
+ },
441
+ "windows": {
442
+ "anyOf": [
443
+ {
444
+ "type": "integer",
445
+ "minimum": 1,
446
+ "maximum": 64
447
+ },
448
+ {
449
+ "type": "object",
450
+ "propertyNames": {
451
+ "type": "string"
452
+ },
453
+ "additionalProperties": {}
454
+ }
455
+ ]
456
+ }
457
+ },
458
+ "additionalProperties": false
459
+ },
460
+ "work.result": {
461
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
462
+ "type": "object",
463
+ "properties": {
464
+ "runId": {
465
+ "type": "string"
466
+ }
467
+ },
468
+ "required": [
469
+ "runId"
470
+ ],
471
+ "additionalProperties": false
472
+ },
293
473
  "cancel.params": {
294
474
  "$schema": "https://json-schema.org/draft/2020-12/schema",
295
475
  "type": "object",
@@ -316,6 +496,192 @@
316
496
  ],
317
497
  "additionalProperties": false
318
498
  },
499
+ "probe.params": {
500
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
501
+ "type": "object",
502
+ "properties": {
503
+ "url": {
504
+ "type": "string",
505
+ "minLength": 1
506
+ },
507
+ "browser": {
508
+ "type": "boolean"
509
+ },
510
+ "browserPath": {
511
+ "type": "string"
512
+ },
513
+ "insecureTls": {
514
+ "type": "boolean"
515
+ },
516
+ "userAgent": {
517
+ "type": "string"
518
+ },
519
+ "accessConfig": {
520
+ "type": "string"
521
+ },
522
+ "access": {
523
+ "type": "string"
524
+ },
525
+ "accessPlugins": {
526
+ "type": "array",
527
+ "items": {
528
+ "type": "string"
529
+ }
530
+ }
531
+ },
532
+ "required": [
533
+ "url"
534
+ ],
535
+ "additionalProperties": false
536
+ },
537
+ "probe.result": {
538
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
539
+ "type": "object",
540
+ "propertyNames": {
541
+ "type": "string"
542
+ },
543
+ "additionalProperties": {}
544
+ },
545
+ "diff.params": {
546
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
547
+ "type": "object",
548
+ "properties": {
549
+ "previous": {
550
+ "type": "string",
551
+ "minLength": 1
552
+ },
553
+ "current": {
554
+ "type": "string",
555
+ "minLength": 1
556
+ },
557
+ "key": {
558
+ "type": "array",
559
+ "items": {
560
+ "type": "string"
561
+ }
562
+ },
563
+ "ignore": {
564
+ "type": "array",
565
+ "items": {
566
+ "type": "string"
567
+ }
568
+ },
569
+ "limit": {
570
+ "type": "integer",
571
+ "minimum": 0,
572
+ "maximum": 9007199254740991
573
+ }
574
+ },
575
+ "required": [
576
+ "previous",
577
+ "current"
578
+ ],
579
+ "additionalProperties": false
580
+ },
581
+ "diff.result": {
582
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
583
+ "type": "object",
584
+ "properties": {
585
+ "added": {
586
+ "type": "number"
587
+ },
588
+ "removed": {
589
+ "type": "number"
590
+ },
591
+ "changed": {
592
+ "type": "number"
593
+ },
594
+ "unchanged": {
595
+ "type": "number"
596
+ },
597
+ "shrunk": {
598
+ "type": "object",
599
+ "properties": {
600
+ "previous": {
601
+ "type": "number"
602
+ },
603
+ "current": {
604
+ "type": "number"
605
+ }
606
+ },
607
+ "required": [
608
+ "previous",
609
+ "current"
610
+ ],
611
+ "additionalProperties": false
612
+ },
613
+ "summary": {
614
+ "type": "array",
615
+ "items": {
616
+ "type": "string"
617
+ }
618
+ },
619
+ "changes": {
620
+ "type": "array",
621
+ "items": {
622
+ "type": "object",
623
+ "propertyNames": {
624
+ "type": "string"
625
+ },
626
+ "additionalProperties": {}
627
+ }
628
+ },
629
+ "truncated": {
630
+ "type": "boolean"
631
+ }
632
+ },
633
+ "required": [
634
+ "added",
635
+ "removed",
636
+ "changed",
637
+ "unchanged",
638
+ "summary",
639
+ "changes",
640
+ "truncated"
641
+ ],
642
+ "additionalProperties": false
643
+ },
644
+ "export.params": {
645
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
646
+ "type": "object",
647
+ "properties": {
648
+ "records": {
649
+ "type": "string",
650
+ "minLength": 1
651
+ },
652
+ "output": {
653
+ "type": "string",
654
+ "minLength": 1
655
+ },
656
+ "out": {
657
+ "type": "string",
658
+ "minLength": 1
659
+ }
660
+ },
661
+ "required": [
662
+ "records",
663
+ "output",
664
+ "out"
665
+ ],
666
+ "additionalProperties": false
667
+ },
668
+ "export.result": {
669
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
670
+ "type": "object",
671
+ "properties": {
672
+ "written": {
673
+ "type": "number"
674
+ },
675
+ "location": {
676
+ "type": "string"
677
+ }
678
+ },
679
+ "required": [
680
+ "written",
681
+ "location"
682
+ ],
683
+ "additionalProperties": false
684
+ },
319
685
  "shutdown.result": {
320
686
  "$schema": "https://json-schema.org/draft/2020-12/schema",
321
687
  "type": "object",
@@ -459,6 +825,205 @@
459
825
  }
460
826
  ]
461
827
  },
828
+ "work.next.params": {
829
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
830
+ "type": "object",
831
+ "properties": {
832
+ "runId": {
833
+ "type": "string"
834
+ }
835
+ },
836
+ "required": [
837
+ "runId"
838
+ ],
839
+ "additionalProperties": false
840
+ },
841
+ "work.next.result": {
842
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
843
+ "type": "object",
844
+ "properties": {
845
+ "item": {
846
+ "anyOf": [
847
+ {
848
+ "type": "object",
849
+ "properties": {
850
+ "id": {
851
+ "type": "string",
852
+ "minLength": 1
853
+ },
854
+ "vars": {
855
+ "type": "object",
856
+ "propertyNames": {
857
+ "type": "string"
858
+ },
859
+ "additionalProperties": {
860
+ "type": [
861
+ "string",
862
+ "number",
863
+ "boolean"
864
+ ]
865
+ }
866
+ },
867
+ "recipe": {
868
+ "type": "string"
869
+ }
870
+ },
871
+ "required": [
872
+ "id",
873
+ "vars"
874
+ ],
875
+ "additionalProperties": false
876
+ },
877
+ {
878
+ "type": "null"
879
+ }
880
+ ]
881
+ }
882
+ },
883
+ "required": [
884
+ "item"
885
+ ],
886
+ "additionalProperties": false
887
+ },
888
+ "work.done.params": {
889
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
890
+ "type": "object",
891
+ "properties": {
892
+ "runId": {
893
+ "type": "string"
894
+ },
895
+ "item": {
896
+ "type": "object",
897
+ "properties": {
898
+ "id": {
899
+ "type": "string",
900
+ "minLength": 1
901
+ },
902
+ "vars": {
903
+ "type": "object",
904
+ "propertyNames": {
905
+ "type": "string"
906
+ },
907
+ "additionalProperties": {
908
+ "type": [
909
+ "string",
910
+ "number",
911
+ "boolean"
912
+ ]
913
+ }
914
+ },
915
+ "recipe": {
916
+ "type": "string"
917
+ }
918
+ },
919
+ "required": [
920
+ "id",
921
+ "vars"
922
+ ],
923
+ "additionalProperties": false
924
+ },
925
+ "report": {
926
+ "type": "object",
927
+ "propertyNames": {
928
+ "type": "string"
929
+ },
930
+ "additionalProperties": {}
931
+ },
932
+ "records": {
933
+ "type": "array",
934
+ "items": {
935
+ "type": "object",
936
+ "properties": {
937
+ "key": {
938
+ "type": [
939
+ "string",
940
+ "null"
941
+ ]
942
+ },
943
+ "data": {
944
+ "type": "object",
945
+ "propertyNames": {
946
+ "type": "string"
947
+ },
948
+ "additionalProperties": {}
949
+ }
950
+ },
951
+ "required": [
952
+ "key",
953
+ "data"
954
+ ],
955
+ "additionalProperties": false
956
+ }
957
+ }
958
+ },
959
+ "required": [
960
+ "runId",
961
+ "item",
962
+ "report",
963
+ "records"
964
+ ],
965
+ "additionalProperties": false
966
+ },
967
+ "work.failed.params": {
968
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
969
+ "type": "object",
970
+ "properties": {
971
+ "runId": {
972
+ "type": "string"
973
+ },
974
+ "item": {
975
+ "type": "object",
976
+ "properties": {
977
+ "id": {
978
+ "type": "string",
979
+ "minLength": 1
980
+ },
981
+ "vars": {
982
+ "type": "object",
983
+ "propertyNames": {
984
+ "type": "string"
985
+ },
986
+ "additionalProperties": {
987
+ "type": [
988
+ "string",
989
+ "number",
990
+ "boolean"
991
+ ]
992
+ }
993
+ },
994
+ "recipe": {
995
+ "type": "string"
996
+ }
997
+ },
998
+ "required": [
999
+ "id",
1000
+ "vars"
1001
+ ],
1002
+ "additionalProperties": false
1003
+ },
1004
+ "report": {
1005
+ "type": "object",
1006
+ "propertyNames": {
1007
+ "type": "string"
1008
+ },
1009
+ "additionalProperties": {}
1010
+ },
1011
+ "outcome": {
1012
+ "type": "string",
1013
+ "enum": [
1014
+ "failure",
1015
+ "neutral"
1016
+ ]
1017
+ }
1018
+ },
1019
+ "required": [
1020
+ "runId",
1021
+ "item",
1022
+ "report",
1023
+ "outcome"
1024
+ ],
1025
+ "additionalProperties": false
1026
+ },
462
1027
  "event.params": {
463
1028
  "$schema": "https://json-schema.org/draft/2020-12/schema",
464
1029
  "type": "object",