scrapfly-sdk 0.6.8 → 0.7.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.
@@ -17,26 +17,30 @@ type ExtractionConfigOptions = {
17
17
  content_type: string;
18
18
  url?: string;
19
19
  charset?: string;
20
- template?: string;
21
- ephemeral_template?: object;
20
+ extraction_template?: string;
21
+ extraction_ephemeral_template?: object;
22
22
  extraction_prompt?: string;
23
23
  extraction_model?: string;
24
24
  is_document_compressed?: boolean;
25
25
  document_compression_format?: 'gzip' | 'zstd' | 'deflate' | CompressionFormat;
26
26
  webhook?: string;
27
+ template?: string;
28
+ ephemeral_template?: object;
27
29
  };
28
30
  export declare class ExtractionConfig {
29
31
  body: string | Uint8Array;
30
32
  content_type: string;
31
33
  url?: string;
32
34
  charset?: string;
33
- template?: string;
34
- ephemeral_template?: object;
35
+ extraction_template?: string;
36
+ extraction_ephemeral_template?: object;
35
37
  extraction_prompt?: string;
36
38
  extraction_model?: string;
37
39
  is_document_compressed?: boolean;
38
40
  document_compression_format?: 'gzip' | 'zstd' | 'deflate' | CompressionFormat;
39
41
  webhook?: string;
42
+ template?: string;
43
+ ephemeral_template?: object;
40
44
  constructor(options: ExtractionConfigOptions);
41
45
  private validateOptions;
42
46
  toApiParams(options: {
@@ -1 +1 @@
1
- {"version":3,"file":"extractionconfig.d.ts","sourceRoot":"","sources":["../src/extractionconfig.ts"],"names":[],"mappings":"AAGA,oBAAY,iBAAiB;IAC3B;;;;;;;;SAQK;IACL,IAAI,SAAS;IACb,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,OAAO,EAAE,uBAAuB;IAuB5C,OAAO,CAAC,eAAe;IASvB,WAAW,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAiE3D"}
1
+ {"version":3,"file":"extractionconfig.d.ts","sourceRoot":"","sources":["../src/extractionconfig.ts"],"names":[],"mappings":"AAIA,oBAAY,iBAAiB;IAC3B;;;;;;;;SAQK;IACL,IAAI,SAAS;IACb,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;gBAEhB,OAAO,EAAE,uBAAuB;IAwC5C,OAAO,CAAC,eAAe;IASvB,WAAW,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAiE3D"}
@@ -1,5 +1,6 @@
1
1
  import * as errors from './errors.js';
2
2
  import { urlsafe_b64encode } from './utils.js';
3
+ import { ExtractionConfigError } from './errors.js';
3
4
  export var CompressionFormat;
4
5
  (function (CompressionFormat) {
5
6
  /**
@@ -41,13 +42,13 @@ export class ExtractionConfig {
41
42
  writable: true,
42
43
  value: void 0
43
44
  });
44
- Object.defineProperty(this, "template", {
45
+ Object.defineProperty(this, "extraction_template", {
45
46
  enumerable: true,
46
47
  configurable: true,
47
48
  writable: true,
48
49
  value: void 0
49
50
  }); // saved template name
50
- Object.defineProperty(this, "ephemeral_template", {
51
+ Object.defineProperty(this, "extraction_ephemeral_template", {
51
52
  enumerable: true,
52
53
  configurable: true,
53
54
  writable: true,
@@ -83,7 +84,34 @@ export class ExtractionConfig {
83
84
  writable: true,
84
85
  value: void 0
85
86
  });
87
+ // // deprecated options
88
+ Object.defineProperty(this, "template", {
89
+ enumerable: true,
90
+ configurable: true,
91
+ writable: true,
92
+ value: void 0
93
+ });
94
+ Object.defineProperty(this, "ephemeral_template", {
95
+ enumerable: true,
96
+ configurable: true,
97
+ writable: true,
98
+ value: void 0
99
+ });
86
100
  this.validateOptions(options);
101
+ if (options.template) {
102
+ console.warn(`Deprecation warning: 'template' is deprecated. Use 'extraction_template' instead.`);
103
+ this.extraction_template = options.template;
104
+ }
105
+ else {
106
+ this.extraction_template = options.extraction_template;
107
+ }
108
+ if (options.ephemeral_template) {
109
+ console.warn(`Deprecation warning: 'ephemeral_template' is deprecated. Use 'extraction_ephemeral_template' instead.`);
110
+ this.extraction_ephemeral_template = options.ephemeral_template;
111
+ }
112
+ else {
113
+ this.extraction_ephemeral_template = options.extraction_ephemeral_template;
114
+ }
87
115
  if (options.document_compression_format &&
88
116
  !Object.values(CompressionFormat).includes(options.document_compression_format)) {
89
117
  throw new errors.ExtractionConfigError(`Invalid CompressionFormat param value: ${options.document_compression_format}`);
@@ -92,8 +120,8 @@ export class ExtractionConfig {
92
120
  this.content_type = options.content_type;
93
121
  this.url = options.url ?? this.url;
94
122
  this.charset = options.charset ?? this.charset;
95
- this.template = options.template ?? this.template;
96
- this.ephemeral_template = options.ephemeral_template ?? this.ephemeral_template;
123
+ this.extraction_template = options.extraction_template ?? this.extraction_template;
124
+ this.extraction_ephemeral_template = options.extraction_ephemeral_template ?? this.extraction_ephemeral_template;
97
125
  this.extraction_prompt = options.extraction_prompt ?? this.extraction_prompt;
98
126
  this.extraction_model = options.extraction_model ?? this.extraction_model;
99
127
  this.is_document_compressed = options.is_document_compressed ?? this.is_document_compressed;
@@ -120,14 +148,14 @@ export class ExtractionConfig {
120
148
  if (this.charset) {
121
149
  params.charset = this.charset;
122
150
  }
123
- if (this.template && this.ephemeral_template) {
124
- throw new errors.ExtractionConfigError('You cannot pass both parameters template and ephemeral_template. You must choose');
151
+ if (this.extraction_template && this.extraction_ephemeral_template) {
152
+ throw new ExtractionConfigError('You cannot pass both parameters extraction_template and extraction_ephemeral_template. You must choose');
125
153
  }
126
- if (this.template) {
127
- params.extraction_template = this.template;
154
+ if (this.extraction_template) {
155
+ params.extraction_template = this.extraction_template;
128
156
  }
129
- if (this.ephemeral_template) {
130
- params.extraction_template = 'ephemeral:' + urlsafe_b64encode(JSON.stringify(this.ephemeral_template));
157
+ if (this.extraction_ephemeral_template) {
158
+ params.extraction_template = 'ephemeral:' + urlsafe_b64encode(JSON.stringify(this.extraction_ephemeral_template));
131
159
  }
132
160
  if (this.extraction_prompt) {
133
161
  params.extraction_prompt = this.extraction_prompt;
@@ -54,6 +54,10 @@ type ScrapeConfigOptions = {
54
54
  tags?: string[];
55
55
  format?: 'json' | 'text' | 'markdown' | 'clean_html' | 'raw' | Format;
56
56
  format_options?: ('no_links' | 'no_images' | 'only_content' | FormatOption)[];
57
+ extraction_template?: string;
58
+ extraction_ephemeral_template?: object;
59
+ extraction_prompt?: string;
60
+ extraction_model?: string;
57
61
  correlation_id?: string;
58
62
  cookies?: Rec<string>;
59
63
  body?: string;
@@ -94,6 +98,10 @@ export declare class ScrapeConfig {
94
98
  tags: Set<string>;
95
99
  format?: 'json' | 'text' | 'markdown' | 'clean_html' | 'raw' | Format;
96
100
  format_options?: ('no_links' | 'no_images' | 'only_content' | FormatOption)[];
101
+ extraction_template?: string;
102
+ extraction_ephemeral_template?: object;
103
+ extraction_prompt?: string;
104
+ extraction_model?: string;
97
105
  correlation_id?: string;
98
106
  cookies?: Rec<string>;
99
107
  body?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"scrapeconfig.d.ts","sourceRoot":"","sources":["../src/scrapeconfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scrapeconfig.d.ts","sourceRoot":"","sources":["../src/scrapeconfig.ts"],"names":[],"mappings":"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"}
@@ -155,6 +155,30 @@ export class ScrapeConfig {
155
155
  writable: true,
156
156
  value: void 0
157
157
  });
158
+ Object.defineProperty(this, "extraction_template", {
159
+ enumerable: true,
160
+ configurable: true,
161
+ writable: true,
162
+ value: void 0
163
+ }); // saved template name
164
+ Object.defineProperty(this, "extraction_ephemeral_template", {
165
+ enumerable: true,
166
+ configurable: true,
167
+ writable: true,
168
+ value: void 0
169
+ }); // ephemeraly declared json template
170
+ Object.defineProperty(this, "extraction_prompt", {
171
+ enumerable: true,
172
+ configurable: true,
173
+ writable: true,
174
+ value: void 0
175
+ });
176
+ Object.defineProperty(this, "extraction_model", {
177
+ enumerable: true,
178
+ configurable: true,
179
+ writable: true,
180
+ value: void 0
181
+ });
158
182
  Object.defineProperty(this, "correlation_id", {
159
183
  enumerable: true,
160
184
  configurable: true,
@@ -296,6 +320,10 @@ export class ScrapeConfig {
296
320
  this.tags = new Set(options.tags) ?? this.tags;
297
321
  this.format = options.format ?? this.format;
298
322
  this.format_options = options.format_options ?? this.format_options;
323
+ this.extraction_template = options.extraction_template ?? this.extraction_template;
324
+ this.extraction_ephemeral_template = options.extraction_ephemeral_template ?? this.extraction_ephemeral_template;
325
+ this.extraction_prompt = options.extraction_prompt ?? this.extraction_prompt;
326
+ this.extraction_model = options.extraction_model ?? this.extraction_model;
299
327
  this.correlation_id = options.correlation_id ?? this.correlation_id;
300
328
  this.cookies = options.cookies
301
329
  ? Object.fromEntries(Object.entries(options.cookies).map(([k, v]) => [k.toLowerCase(), v]))
@@ -470,6 +498,21 @@ export class ScrapeConfig {
470
498
  params.format += ':' + this.format_options.join(',');
471
499
  }
472
500
  }
501
+ if (this.extraction_template && this.extraction_ephemeral_template) {
502
+ throw new ScrapeConfigError('You cannot pass both parameters extraction_template and extraction_ephemeral_template. You must choose');
503
+ }
504
+ if (this.extraction_template) {
505
+ params.extraction_template = this.extraction_template;
506
+ }
507
+ if (this.extraction_ephemeral_template) {
508
+ params.extraction_template = 'ephemeral:' + urlsafe_b64encode(JSON.stringify(this.extraction_ephemeral_template));
509
+ }
510
+ if (this.extraction_prompt) {
511
+ params.extraction_prompt = this.extraction_prompt;
512
+ }
513
+ if (this.extraction_model) {
514
+ params.extraction_model = this.extraction_model;
515
+ }
473
516
  if (this.correlation_id) {
474
517
  params.correlation_id = this.correlation_id;
475
518
  }
@@ -26,6 +26,22 @@ export declare enum Format {
26
26
  WEBP = "webp",
27
27
  GIF = "gif"
28
28
  }
29
+ export declare enum VisionDeficiency {
30
+ /**
31
+ Simulate vision deficiency for accessibility testing (WCAG compliance)
32
+ Attributes:
33
+ DEUTERANOPIA: Red-green color blindness (green-blind), affects ~6% of males.
34
+ PROTANOPIA: Red-green color blindness (red-blind), affects ~2% of males
35
+ TRITANOPIA: Simulate color blindness.
36
+ ACHROMATOPSIA: Complete color blindness (monochromacy), affects ~0.003%
37
+ BLURREDVISION: Blurred/unfocused vision, affects ~2.2B globally
38
+ */
39
+ DEUTERANOPIA = "deuteranopia",
40
+ PROTANOPIA = "protanopia",
41
+ TRITANOPIA = "tritanopia",
42
+ ACHROMATOPSIA = "achromatopsia",
43
+ BLURREDVISION = "blurredvision"
44
+ }
29
45
  type ScreenshotConfigOptions = {
30
46
  url: string;
31
47
  format?: 'jpg' | 'png' | 'webp' | 'gif' | Format;
@@ -41,6 +57,7 @@ type ScreenshotConfigOptions = {
41
57
  cache?: boolean;
42
58
  cache_ttl?: number;
43
59
  cache_clear?: boolean;
60
+ vision_deficiency?: 'deuteranopia' | 'protanopia' | 'tritanopia' | 'achromatopsia' | 'blurredvision' | VisionDeficiency;
44
61
  webhook?: string;
45
62
  };
46
63
  export declare class ScreenshotConfig {
@@ -58,6 +75,7 @@ export declare class ScreenshotConfig {
58
75
  cache?: boolean;
59
76
  cache_ttl?: number;
60
77
  cache_clear?: boolean;
78
+ vision_deficiency?: 'deuteranopia' | 'protanopia' | 'tritanopia' | 'achromatopsia' | 'blurredvision' | VisionDeficiency;
61
79
  webhook?: string;
62
80
  constructor(options: ScreenshotConfigOptions);
63
81
  private validateOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"screenshotconfig.d.ts","sourceRoot":"","sources":["../src/screenshotconfig.ts"],"names":[],"mappings":"AAIA,oBAAY,OAAO;IACjB;;;;;;;QAOI;IACJ,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;CAC1C;AAED,oBAAY,MAAM;IAChB;;;;;;;QAOI;IACJ,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ;AAED,KAAK,uBAAuB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,aAAa,GAAG,WAAW,GAAG,eAAe,GAAG,oBAAoB,GAAG,OAAO,CAAC,EAAE,CAAC;IAC7F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAa;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,aAAa,GAAG,WAAW,GAAG,eAAe,GAAG,oBAAoB,GAAG,OAAO,CAAC,EAAE,CAAC;IAC7F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,OAAO,EAAE,uBAAuB;IA8B5C,OAAO,CAAC,eAAe;IASvB,WAAW,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAqE3D"}
1
+ {"version":3,"file":"screenshotconfig.d.ts","sourceRoot":"","sources":["../src/screenshotconfig.ts"],"names":[],"mappings":"AAIA,oBAAY,OAAO;IACjB;;;;;;;QAOI;IACJ,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;CAC1C;AAED,oBAAY,MAAM;IAChB;;;;;;;QAOI;IACJ,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ;AAED,oBAAY,gBAAgB;IAC1B;;;;;;;;OAQG;IACH,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;CAChC;AAED,KAAK,uBAAuB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,aAAa,GAAG,WAAW,GAAG,eAAe,GAAG,oBAAoB,GAAG,OAAO,CAAC,EAAE,CAAC;IAC7F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,eAAe,GAAG,eAAe,GAAG,gBAAgB,CAAC;IACxH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAa;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,aAAa,GAAG,WAAW,GAAG,eAAe,GAAG,oBAAoB,GAAG,OAAO,CAAC,EAAE,CAAC;IAC7F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,eAAe,GAAG,eAAe,GAAG,gBAAgB,CAAC;IACxH,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,OAAO,EAAE,uBAAuB;IA+B5C,OAAO,CAAC,eAAe;IASvB,WAAW,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAyE3D"}
@@ -31,6 +31,23 @@ export var Format;
31
31
  Format["WEBP"] = "webp";
32
32
  Format["GIF"] = "gif";
33
33
  })(Format || (Format = {}));
34
+ export var VisionDeficiency;
35
+ (function (VisionDeficiency) {
36
+ /**
37
+ Simulate vision deficiency for accessibility testing (WCAG compliance)
38
+ Attributes:
39
+ DEUTERANOPIA: Red-green color blindness (green-blind), affects ~6% of males.
40
+ PROTANOPIA: Red-green color blindness (red-blind), affects ~2% of males
41
+ TRITANOPIA: Simulate color blindness.
42
+ ACHROMATOPSIA: Complete color blindness (monochromacy), affects ~0.003%
43
+ BLURREDVISION: Blurred/unfocused vision, affects ~2.2B globally
44
+ */
45
+ VisionDeficiency["DEUTERANOPIA"] = "deuteranopia";
46
+ VisionDeficiency["PROTANOPIA"] = "protanopia";
47
+ VisionDeficiency["TRITANOPIA"] = "tritanopia";
48
+ VisionDeficiency["ACHROMATOPSIA"] = "achromatopsia";
49
+ VisionDeficiency["BLURREDVISION"] = "blurredvision";
50
+ })(VisionDeficiency || (VisionDeficiency = {}));
34
51
  export class ScreenshotConfig {
35
52
  constructor(options) {
36
53
  Object.defineProperty(this, "url", {
@@ -117,6 +134,12 @@ export class ScreenshotConfig {
117
134
  writable: true,
118
135
  value: void 0
119
136
  });
137
+ Object.defineProperty(this, "vision_deficiency", {
138
+ enumerable: true,
139
+ configurable: true,
140
+ writable: true,
141
+ value: void 0
142
+ });
120
143
  Object.defineProperty(this, "webhook", {
121
144
  enumerable: true,
122
145
  configurable: true,
@@ -149,6 +172,7 @@ export class ScreenshotConfig {
149
172
  this.cache = options.cache ?? this.cache;
150
173
  this.cache_ttl = options.cache_ttl ?? this.cache_ttl;
151
174
  this.cache_clear = options.cache_clear ?? this.cache_clear;
175
+ this.vision_deficiency = options.vision_deficiency ?? this.vision_deficiency;
152
176
  this.webhook = options.webhook;
153
177
  }
154
178
  validateOptions(options) {
@@ -211,6 +235,9 @@ export class ScreenshotConfig {
211
235
  log.warn('Params "cache_clear" is ignored. Works only if cache is enabled');
212
236
  }
213
237
  }
238
+ if (this.vision_deficiency) {
239
+ params.vision_deficiency = this.vision_deficiency;
240
+ }
214
241
  if (this.webhook) {
215
242
  params.webhook_name = this.webhook;
216
243
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scrapfly-sdk",
3
- "version": "0.6.8",
3
+ "version": "0.7.0",
4
4
  "description": "SDK for Scrapfly.io API for web scraping, screenshotting and data extraction",
5
5
  "keywords": [
6
6
  "web scraping",
@@ -17,26 +17,30 @@ type ExtractionConfigOptions = {
17
17
  content_type: string;
18
18
  url?: string;
19
19
  charset?: string;
20
- template?: string;
21
- ephemeral_template?: object;
20
+ extraction_template?: string;
21
+ extraction_ephemeral_template?: object;
22
22
  extraction_prompt?: string;
23
23
  extraction_model?: string;
24
24
  is_document_compressed?: boolean;
25
25
  document_compression_format?: 'gzip' | 'zstd' | 'deflate' | CompressionFormat;
26
26
  webhook?: string;
27
+ template?: string;
28
+ ephemeral_template?: object;
27
29
  };
28
30
  export declare class ExtractionConfig {
29
31
  body: string | Uint8Array;
30
32
  content_type: string;
31
33
  url?: string;
32
34
  charset?: string;
33
- template?: string;
34
- ephemeral_template?: object;
35
+ extraction_template?: string;
36
+ extraction_ephemeral_template?: object;
35
37
  extraction_prompt?: string;
36
38
  extraction_model?: string;
37
39
  is_document_compressed?: boolean;
38
40
  document_compression_format?: 'gzip' | 'zstd' | 'deflate' | CompressionFormat;
39
41
  webhook?: string;
42
+ template?: string;
43
+ ephemeral_template?: object;
40
44
  constructor(options: ExtractionConfigOptions);
41
45
  private validateOptions;
42
46
  toApiParams(options: {
@@ -1 +1 @@
1
- {"version":3,"file":"extractionconfig.d.ts","sourceRoot":"","sources":["../src/extractionconfig.ts"],"names":[],"mappings":"AAGA,oBAAY,iBAAiB;IAC3B;;;;;;;;SAQK;IACL,IAAI,SAAS;IACb,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,OAAO,EAAE,uBAAuB;IAuB5C,OAAO,CAAC,eAAe;IASvB,WAAW,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAiE3D"}
1
+ {"version":3,"file":"extractionconfig.d.ts","sourceRoot":"","sources":["../src/extractionconfig.ts"],"names":[],"mappings":"AAIA,oBAAY,iBAAiB;IAC3B;;;;;;;;SAQK;IACL,IAAI,SAAS;IACb,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,2BAA2B,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;gBAEhB,OAAO,EAAE,uBAAuB;IAwC5C,OAAO,CAAC,eAAe;IASvB,WAAW,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAiE3D"}
@@ -26,6 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.ExtractionConfig = exports.CompressionFormat = void 0;
27
27
  const errors = __importStar(require("./errors.js"));
28
28
  const utils_js_1 = require("./utils.js");
29
+ const errors_js_1 = require("./errors.js");
29
30
  var CompressionFormat;
30
31
  (function (CompressionFormat) {
31
32
  /**
@@ -67,13 +68,13 @@ class ExtractionConfig {
67
68
  writable: true,
68
69
  value: void 0
69
70
  });
70
- Object.defineProperty(this, "template", {
71
+ Object.defineProperty(this, "extraction_template", {
71
72
  enumerable: true,
72
73
  configurable: true,
73
74
  writable: true,
74
75
  value: void 0
75
76
  }); // saved template name
76
- Object.defineProperty(this, "ephemeral_template", {
77
+ Object.defineProperty(this, "extraction_ephemeral_template", {
77
78
  enumerable: true,
78
79
  configurable: true,
79
80
  writable: true,
@@ -109,7 +110,34 @@ class ExtractionConfig {
109
110
  writable: true,
110
111
  value: void 0
111
112
  });
113
+ // // deprecated options
114
+ Object.defineProperty(this, "template", {
115
+ enumerable: true,
116
+ configurable: true,
117
+ writable: true,
118
+ value: void 0
119
+ });
120
+ Object.defineProperty(this, "ephemeral_template", {
121
+ enumerable: true,
122
+ configurable: true,
123
+ writable: true,
124
+ value: void 0
125
+ });
112
126
  this.validateOptions(options);
127
+ if (options.template) {
128
+ console.warn(`Deprecation warning: 'template' is deprecated. Use 'extraction_template' instead.`);
129
+ this.extraction_template = options.template;
130
+ }
131
+ else {
132
+ this.extraction_template = options.extraction_template;
133
+ }
134
+ if (options.ephemeral_template) {
135
+ console.warn(`Deprecation warning: 'ephemeral_template' is deprecated. Use 'extraction_ephemeral_template' instead.`);
136
+ this.extraction_ephemeral_template = options.ephemeral_template;
137
+ }
138
+ else {
139
+ this.extraction_ephemeral_template = options.extraction_ephemeral_template;
140
+ }
113
141
  if (options.document_compression_format &&
114
142
  !Object.values(CompressionFormat).includes(options.document_compression_format)) {
115
143
  throw new errors.ExtractionConfigError(`Invalid CompressionFormat param value: ${options.document_compression_format}`);
@@ -118,8 +146,8 @@ class ExtractionConfig {
118
146
  this.content_type = options.content_type;
119
147
  this.url = options.url ?? this.url;
120
148
  this.charset = options.charset ?? this.charset;
121
- this.template = options.template ?? this.template;
122
- this.ephemeral_template = options.ephemeral_template ?? this.ephemeral_template;
149
+ this.extraction_template = options.extraction_template ?? this.extraction_template;
150
+ this.extraction_ephemeral_template = options.extraction_ephemeral_template ?? this.extraction_ephemeral_template;
123
151
  this.extraction_prompt = options.extraction_prompt ?? this.extraction_prompt;
124
152
  this.extraction_model = options.extraction_model ?? this.extraction_model;
125
153
  this.is_document_compressed = options.is_document_compressed ?? this.is_document_compressed;
@@ -146,14 +174,14 @@ class ExtractionConfig {
146
174
  if (this.charset) {
147
175
  params.charset = this.charset;
148
176
  }
149
- if (this.template && this.ephemeral_template) {
150
- throw new errors.ExtractionConfigError('You cannot pass both parameters template and ephemeral_template. You must choose');
177
+ if (this.extraction_template && this.extraction_ephemeral_template) {
178
+ throw new errors_js_1.ExtractionConfigError('You cannot pass both parameters extraction_template and extraction_ephemeral_template. You must choose');
151
179
  }
152
- if (this.template) {
153
- params.extraction_template = this.template;
180
+ if (this.extraction_template) {
181
+ params.extraction_template = this.extraction_template;
154
182
  }
155
- if (this.ephemeral_template) {
156
- params.extraction_template = 'ephemeral:' + (0, utils_js_1.urlsafe_b64encode)(JSON.stringify(this.ephemeral_template));
183
+ if (this.extraction_ephemeral_template) {
184
+ params.extraction_template = 'ephemeral:' + (0, utils_js_1.urlsafe_b64encode)(JSON.stringify(this.extraction_ephemeral_template));
157
185
  }
158
186
  if (this.extraction_prompt) {
159
187
  params.extraction_prompt = this.extraction_prompt;
@@ -54,6 +54,10 @@ type ScrapeConfigOptions = {
54
54
  tags?: string[];
55
55
  format?: 'json' | 'text' | 'markdown' | 'clean_html' | 'raw' | Format;
56
56
  format_options?: ('no_links' | 'no_images' | 'only_content' | FormatOption)[];
57
+ extraction_template?: string;
58
+ extraction_ephemeral_template?: object;
59
+ extraction_prompt?: string;
60
+ extraction_model?: string;
57
61
  correlation_id?: string;
58
62
  cookies?: Rec<string>;
59
63
  body?: string;
@@ -94,6 +98,10 @@ export declare class ScrapeConfig {
94
98
  tags: Set<string>;
95
99
  format?: 'json' | 'text' | 'markdown' | 'clean_html' | 'raw' | Format;
96
100
  format_options?: ('no_links' | 'no_images' | 'only_content' | FormatOption)[];
101
+ extraction_template?: string;
102
+ extraction_ephemeral_template?: object;
103
+ extraction_prompt?: string;
104
+ extraction_model?: string;
97
105
  correlation_id?: string;
98
106
  cookies?: Rec<string>;
99
107
  body?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"scrapeconfig.d.ts","sourceRoot":"","sources":["../src/scrapeconfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scrapeconfig.d.ts","sourceRoot":"","sources":["../src/scrapeconfig.ts"],"names":[],"mappings":"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"}
@@ -158,6 +158,30 @@ class ScrapeConfig {
158
158
  writable: true,
159
159
  value: void 0
160
160
  });
161
+ Object.defineProperty(this, "extraction_template", {
162
+ enumerable: true,
163
+ configurable: true,
164
+ writable: true,
165
+ value: void 0
166
+ }); // saved template name
167
+ Object.defineProperty(this, "extraction_ephemeral_template", {
168
+ enumerable: true,
169
+ configurable: true,
170
+ writable: true,
171
+ value: void 0
172
+ }); // ephemeraly declared json template
173
+ Object.defineProperty(this, "extraction_prompt", {
174
+ enumerable: true,
175
+ configurable: true,
176
+ writable: true,
177
+ value: void 0
178
+ });
179
+ Object.defineProperty(this, "extraction_model", {
180
+ enumerable: true,
181
+ configurable: true,
182
+ writable: true,
183
+ value: void 0
184
+ });
161
185
  Object.defineProperty(this, "correlation_id", {
162
186
  enumerable: true,
163
187
  configurable: true,
@@ -299,6 +323,10 @@ class ScrapeConfig {
299
323
  this.tags = new Set(options.tags) ?? this.tags;
300
324
  this.format = options.format ?? this.format;
301
325
  this.format_options = options.format_options ?? this.format_options;
326
+ this.extraction_template = options.extraction_template ?? this.extraction_template;
327
+ this.extraction_ephemeral_template = options.extraction_ephemeral_template ?? this.extraction_ephemeral_template;
328
+ this.extraction_prompt = options.extraction_prompt ?? this.extraction_prompt;
329
+ this.extraction_model = options.extraction_model ?? this.extraction_model;
302
330
  this.correlation_id = options.correlation_id ?? this.correlation_id;
303
331
  this.cookies = options.cookies
304
332
  ? Object.fromEntries(Object.entries(options.cookies).map(([k, v]) => [k.toLowerCase(), v]))
@@ -473,6 +501,21 @@ class ScrapeConfig {
473
501
  params.format += ':' + this.format_options.join(',');
474
502
  }
475
503
  }
504
+ if (this.extraction_template && this.extraction_ephemeral_template) {
505
+ throw new errors_js_1.ScrapeConfigError('You cannot pass both parameters extraction_template and extraction_ephemeral_template. You must choose');
506
+ }
507
+ if (this.extraction_template) {
508
+ params.extraction_template = this.extraction_template;
509
+ }
510
+ if (this.extraction_ephemeral_template) {
511
+ params.extraction_template = 'ephemeral:' + (0, utils_js_1.urlsafe_b64encode)(JSON.stringify(this.extraction_ephemeral_template));
512
+ }
513
+ if (this.extraction_prompt) {
514
+ params.extraction_prompt = this.extraction_prompt;
515
+ }
516
+ if (this.extraction_model) {
517
+ params.extraction_model = this.extraction_model;
518
+ }
476
519
  if (this.correlation_id) {
477
520
  params.correlation_id = this.correlation_id;
478
521
  }
@@ -26,6 +26,22 @@ export declare enum Format {
26
26
  WEBP = "webp",
27
27
  GIF = "gif"
28
28
  }
29
+ export declare enum VisionDeficiency {
30
+ /**
31
+ Simulate vision deficiency for accessibility testing (WCAG compliance)
32
+ Attributes:
33
+ DEUTERANOPIA: Red-green color blindness (green-blind), affects ~6% of males.
34
+ PROTANOPIA: Red-green color blindness (red-blind), affects ~2% of males
35
+ TRITANOPIA: Simulate color blindness.
36
+ ACHROMATOPSIA: Complete color blindness (monochromacy), affects ~0.003%
37
+ BLURREDVISION: Blurred/unfocused vision, affects ~2.2B globally
38
+ */
39
+ DEUTERANOPIA = "deuteranopia",
40
+ PROTANOPIA = "protanopia",
41
+ TRITANOPIA = "tritanopia",
42
+ ACHROMATOPSIA = "achromatopsia",
43
+ BLURREDVISION = "blurredvision"
44
+ }
29
45
  type ScreenshotConfigOptions = {
30
46
  url: string;
31
47
  format?: 'jpg' | 'png' | 'webp' | 'gif' | Format;
@@ -41,6 +57,7 @@ type ScreenshotConfigOptions = {
41
57
  cache?: boolean;
42
58
  cache_ttl?: number;
43
59
  cache_clear?: boolean;
60
+ vision_deficiency?: 'deuteranopia' | 'protanopia' | 'tritanopia' | 'achromatopsia' | 'blurredvision' | VisionDeficiency;
44
61
  webhook?: string;
45
62
  };
46
63
  export declare class ScreenshotConfig {
@@ -58,6 +75,7 @@ export declare class ScreenshotConfig {
58
75
  cache?: boolean;
59
76
  cache_ttl?: number;
60
77
  cache_clear?: boolean;
78
+ vision_deficiency?: 'deuteranopia' | 'protanopia' | 'tritanopia' | 'achromatopsia' | 'blurredvision' | VisionDeficiency;
61
79
  webhook?: string;
62
80
  constructor(options: ScreenshotConfigOptions);
63
81
  private validateOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"screenshotconfig.d.ts","sourceRoot":"","sources":["../src/screenshotconfig.ts"],"names":[],"mappings":"AAIA,oBAAY,OAAO;IACjB;;;;;;;QAOI;IACJ,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;CAC1C;AAED,oBAAY,MAAM;IAChB;;;;;;;QAOI;IACJ,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ;AAED,KAAK,uBAAuB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,aAAa,GAAG,WAAW,GAAG,eAAe,GAAG,oBAAoB,GAAG,OAAO,CAAC,EAAE,CAAC;IAC7F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAa;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,aAAa,GAAG,WAAW,GAAG,eAAe,GAAG,oBAAoB,GAAG,OAAO,CAAC,EAAE,CAAC;IAC7F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,OAAO,EAAE,uBAAuB;IA8B5C,OAAO,CAAC,eAAe;IASvB,WAAW,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAqE3D"}
1
+ {"version":3,"file":"screenshotconfig.d.ts","sourceRoot":"","sources":["../src/screenshotconfig.ts"],"names":[],"mappings":"AAIA,oBAAY,OAAO;IACjB;;;;;;;QAOI;IACJ,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;CAC1C;AAED,oBAAY,MAAM;IAChB;;;;;;;QAOI;IACJ,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ;AAED,oBAAY,gBAAgB;IAC1B;;;;;;;;OAQG;IACH,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;CAChC;AAED,KAAK,uBAAuB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,aAAa,GAAG,WAAW,GAAG,eAAe,GAAG,oBAAoB,GAAG,OAAO,CAAC,EAAE,CAAC;IAC7F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,eAAe,GAAG,eAAe,GAAG,gBAAgB,CAAC;IACxH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAa;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,aAAa,GAAG,WAAW,GAAG,eAAe,GAAG,oBAAoB,GAAG,OAAO,CAAC,EAAE,CAAC;IAC7F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,eAAe,GAAG,eAAe,GAAG,gBAAgB,CAAC;IACxH,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,OAAO,EAAE,uBAAuB;IA+B5C,OAAO,CAAC,eAAe;IASvB,WAAW,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAyE3D"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ScreenshotConfig = exports.Format = exports.Options = void 0;
3
+ exports.ScreenshotConfig = exports.VisionDeficiency = exports.Format = exports.Options = void 0;
4
4
  const errors_js_1 = require("./errors.js");
5
5
  const utils_js_1 = require("./utils.js");
6
6
  const logger_js_1 = require("./logger.js");
@@ -34,6 +34,23 @@ var Format;
34
34
  Format["WEBP"] = "webp";
35
35
  Format["GIF"] = "gif";
36
36
  })(Format || (exports.Format = Format = {}));
37
+ var VisionDeficiency;
38
+ (function (VisionDeficiency) {
39
+ /**
40
+ Simulate vision deficiency for accessibility testing (WCAG compliance)
41
+ Attributes:
42
+ DEUTERANOPIA: Red-green color blindness (green-blind), affects ~6% of males.
43
+ PROTANOPIA: Red-green color blindness (red-blind), affects ~2% of males
44
+ TRITANOPIA: Simulate color blindness.
45
+ ACHROMATOPSIA: Complete color blindness (monochromacy), affects ~0.003%
46
+ BLURREDVISION: Blurred/unfocused vision, affects ~2.2B globally
47
+ */
48
+ VisionDeficiency["DEUTERANOPIA"] = "deuteranopia";
49
+ VisionDeficiency["PROTANOPIA"] = "protanopia";
50
+ VisionDeficiency["TRITANOPIA"] = "tritanopia";
51
+ VisionDeficiency["ACHROMATOPSIA"] = "achromatopsia";
52
+ VisionDeficiency["BLURREDVISION"] = "blurredvision";
53
+ })(VisionDeficiency || (exports.VisionDeficiency = VisionDeficiency = {}));
37
54
  class ScreenshotConfig {
38
55
  constructor(options) {
39
56
  Object.defineProperty(this, "url", {
@@ -120,6 +137,12 @@ class ScreenshotConfig {
120
137
  writable: true,
121
138
  value: void 0
122
139
  });
140
+ Object.defineProperty(this, "vision_deficiency", {
141
+ enumerable: true,
142
+ configurable: true,
143
+ writable: true,
144
+ value: void 0
145
+ });
123
146
  Object.defineProperty(this, "webhook", {
124
147
  enumerable: true,
125
148
  configurable: true,
@@ -152,6 +175,7 @@ class ScreenshotConfig {
152
175
  this.cache = options.cache ?? this.cache;
153
176
  this.cache_ttl = options.cache_ttl ?? this.cache_ttl;
154
177
  this.cache_clear = options.cache_clear ?? this.cache_clear;
178
+ this.vision_deficiency = options.vision_deficiency ?? this.vision_deficiency;
155
179
  this.webhook = options.webhook;
156
180
  }
157
181
  validateOptions(options) {
@@ -214,6 +238,9 @@ class ScreenshotConfig {
214
238
  logger_js_1.log.warn('Params "cache_clear" is ignored. Works only if cache is enabled');
215
239
  }
216
240
  }
241
+ if (this.vision_deficiency) {
242
+ params.vision_deficiency = this.vision_deficiency;
243
+ }
217
244
  if (this.webhook) {
218
245
  params.webhook_name = this.webhook;
219
246
  }