@search1api/client 0.2.0 → 0.2.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 CHANGED
@@ -3,7 +3,7 @@
3
3
  Official TypeScript client for Search1API. It supports Node.js 18+ and runtimes
4
4
  with a standards-compatible `fetch` implementation.
5
5
 
6
- API documentation: [search1api.com/docs](https://www.search1api.com/docs)
6
+ API documentation: [search1api.com/docs](https://s1.dev/docs)
7
7
 
8
8
  ## Install
9
9
 
@@ -12,7 +12,10 @@ export interface paths {
12
12
  };
13
13
  get?: never;
14
14
  put?: never;
15
- /** Render a web page as a PNG, JPEG, or WebP image */
15
+ /**
16
+ * Render a web page as a PNG, JPEG, or WebP image
17
+ * @description Render a public webpage as a PNG, JPEG, or WebP image. Use it when appearance is the point — layout checks, visual previews, or content that does not survive text extraction — and control the viewport, when the page counts as ready, and whether to capture the full document or a single element by CSS selector. When you want the page's text instead, call POST /crawl. Costs 2 credits per request.
18
+ */
16
19
  post: operations["screenshot"];
17
20
  delete?: never;
18
21
  options?: never;
@@ -29,7 +32,10 @@ export interface paths {
29
32
  };
30
33
  get?: never;
31
34
  put?: never;
32
- /** Search the web using multiple search engines */
35
+ /**
36
+ * Search the web using multiple search engines
37
+ * @description Search the live public web when the answer depends on current information, sources, or research a model's training data cannot cover. Returns ranked results with id, title, URL, and snippet across 13+ engines, with optional images. Set `crawl_results` to pull the top N result pages in the same call — each crawled page is billed as an additional crawl — or pass a result URL to POST /crawl separately. Costs 1 credit per request.
38
+ */
33
39
  post: operations["search"];
34
40
  delete?: never;
35
41
  options?: never;
@@ -46,7 +52,10 @@ export interface paths {
46
52
  };
47
53
  get?: never;
48
54
  put?: never;
49
- /** Search news articles across multiple sources */
55
+ /**
56
+ * Search news articles across multiple sources
57
+ * @description Search recent news when the question is about events, announcements, or coverage rather than reference material. Returns articles from verified publishers with title, URL, snippet, and optional full page content, filterable by site, language, and time range. For questions that are not time-sensitive, prefer POST /search. Costs 1 credit per request.
58
+ */
50
59
  post: operations["news"];
51
60
  delete?: never;
52
61
  options?: never;
@@ -63,7 +72,10 @@ export interface paths {
63
72
  };
64
73
  get?: never;
65
74
  put?: never;
66
- /** Crawl a URL and extract its content */
75
+ /**
76
+ * Crawl a URL and extract its content
77
+ * @description Fetch one public URL and return its readable title and body as clean text, with navigation, boilerplate, and scripts stripped. Use it on a URL the user supplied or one returned by POST /search. To ingest a whole site rather than a single page, use POST /deepcrawl. Costs 1 credit per request.
78
+ */
67
79
  post: operations["crawl"];
68
80
  delete?: never;
69
81
  options?: never;
@@ -80,7 +92,10 @@ export interface paths {
80
92
  };
81
93
  get?: never;
82
94
  put?: never;
83
- /** Extract sitemap URLs from a website */
95
+ /**
96
+ * Extract sitemap URLs from a website
97
+ * @description Discover the public URLs of a site when you need to know which pages exist before fetching any of them — scoping a crawl, auditing coverage, or locating a section. Returns the links discovered for the given page or domain; it does not fetch their content. Costs 1 credit per request.
98
+ */
84
99
  post: operations["sitemap"];
85
100
  delete?: never;
86
101
  options?: never;
@@ -97,7 +112,10 @@ export interface paths {
97
112
  };
98
113
  get?: never;
99
114
  put?: never;
100
- /** Get trending topics from various platforms */
115
+ /**
116
+ * Get trending topics from various platforms
117
+ * @description List what is currently popular on a supported platform, such as GitHub repositories or Hacker News stories, when the user asks what is trending or new right now. This reads a platform's own live ranking rather than performing a query — for topic searches use POST /search. Costs 1 credit per request.
118
+ */
101
119
  post: operations["trending"];
102
120
  delete?: never;
103
121
  options?: never;
@@ -114,7 +132,10 @@ export interface paths {
114
132
  };
115
133
  get?: never;
116
134
  put?: never;
117
- /** Extract structured content from a URL */
135
+ /**
136
+ * Extract structured content from a URL
137
+ * @description Pull structured data out of a single webpage using a natural-language prompt and a JSON schema you supply. Use it when you need specific fields — prices, specifications, contact details — rather than the whole document; when you want the full text, use POST /crawl. Costs 10 credits per request.
138
+ */
118
139
  post: operations["extract"];
119
140
  delete?: never;
120
141
  options?: never;
@@ -131,7 +152,10 @@ export interface paths {
131
152
  };
132
153
  get?: never;
133
154
  put?: never;
134
- /** Deep crawl a website across multiple pages */
155
+ /**
156
+ * Deep crawl a website across multiple pages
157
+ * @description Start an asynchronous crawl of an entire site and package the pages as documents. Use it for whole-site ingestion; a single page is POST /crawl. The call returns a task id immediately rather than the result — poll GET /deepcrawl/status/{taskId} until the task reports completion. Costs 20 credits per request.
158
+ */
135
159
  post: operations["deepcrawl"];
136
160
  delete?: never;
137
161
  options?: never;
@@ -146,7 +170,10 @@ export interface paths {
146
170
  path?: never;
147
171
  cookie?: never;
148
172
  };
149
- /** Check deepcrawl task status */
173
+ /**
174
+ * Check deepcrawl task status
175
+ * @description Poll a deepcrawl task started by POST /deepcrawl. Returns the task's current state and, once it finishes, where to retrieve the packaged result. Safe to call repeatedly. Free to call.
176
+ */
150
177
  get: operations["deepcrawlStatus"];
151
178
  put?: never;
152
179
  post?: never;
@@ -163,7 +190,10 @@ export interface paths {
163
190
  path?: never;
164
191
  cookie?: never;
165
192
  };
166
- /** Health check */
193
+ /**
194
+ * Health check
195
+ * @description Report whether the API is serving traffic. Takes no credentials, so use it for uptime and readiness checks — it will not tell you whether an API key is valid; call GET /usage for that. Free to call.
196
+ */
167
197
  get: operations["health"];
168
198
  put?: never;
169
199
  post?: never;
@@ -180,7 +210,10 @@ export interface paths {
180
210
  path?: never;
181
211
  cookie?: never;
182
212
  };
183
- /** Get API key usage statistics */
213
+ /**
214
+ * Get API key usage statistics
215
+ * @description Return the remaining credit balance for the authenticated account. Use it to check headroom before starting an expensive job such as a deepcrawl, or to confirm an API key works. Free to call.
216
+ */
184
217
  get: operations["usage"];
185
218
  put?: never;
186
219
  post?: never;
@@ -252,7 +285,7 @@ export interface components {
252
285
  CrawlRequest: {
253
286
  /** Format: uri */
254
287
  url: string;
255
- /** @default false */
288
+ /** @default true */
256
289
  enableFallback: boolean;
257
290
  };
258
291
  SitemapRequest: {
@@ -512,6 +545,15 @@ export interface operations {
512
545
  "application/problem+json": components["schemas"]["ApiError"];
513
546
  };
514
547
  };
548
+ /** @description Forbidden */
549
+ 403: {
550
+ headers: {
551
+ [name: string]: unknown;
552
+ };
553
+ content: {
554
+ "application/json": components["schemas"]["ApiError"];
555
+ };
556
+ };
515
557
  /** @description Validation Error */
516
558
  422: {
517
559
  headers: {
@@ -651,15 +693,6 @@ export interface operations {
651
693
  "application/problem+json": components["schemas"]["ApiError"];
652
694
  };
653
695
  };
654
- /** @description Not Found */
655
- 404: {
656
- headers: {
657
- [name: string]: unknown;
658
- };
659
- content: {
660
- "application/json": components["schemas"]["ApiError"];
661
- };
662
- };
663
696
  /** @description Validation Error */
664
697
  422: {
665
698
  headers: {
@@ -781,15 +814,6 @@ export interface operations {
781
814
  "application/problem+json": components["schemas"]["ApiError"];
782
815
  };
783
816
  };
784
- /** @description Not Found */
785
- 404: {
786
- headers: {
787
- [name: string]: unknown;
788
- };
789
- content: {
790
- "application/json": components["schemas"]["ApiError"];
791
- };
792
- };
793
817
  /** @description Validation Error */
794
818
  422: {
795
819
  headers: {
@@ -840,12 +864,12 @@ export interface operations {
840
864
  "application/json": {
841
865
  /** Format: uri */
842
866
  url: string;
843
- /** @default false */
867
+ /** @default true */
844
868
  enableFallback?: boolean;
845
869
  } | {
846
870
  /** Format: uri */
847
871
  url: string;
848
- /** @default false */
872
+ /** @default true */
849
873
  enableFallback?: boolean;
850
874
  }[];
851
875
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../src/generated.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,KAAK;IAClB,aAAa,EAAE;QACX,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,sDAAsD;QACtD,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;QAC/B,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,SAAS,EAAE;QACP,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,mDAAmD;QACnD,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,OAAO,EAAE;QACL,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,mDAAmD;QACnD,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE;QACN,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,0CAA0C;QAC1C,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACR,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,0CAA0C;QAC1C,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAC5B,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,WAAW,EAAE;QACT,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,iDAAiD;QACjD,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;QAC7B,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACR,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,4CAA4C;QAC5C,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAC5B,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,YAAY,EAAE;QACV,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,iDAAiD;QACjD,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAC9B,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,4BAA4B,EAAE;QAC1B,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,kCAAkC;QAClC,GAAG,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACnC,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,SAAS,EAAE;QACP,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,mBAAmB;QACnB,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1B,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE;QACN,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,mCAAmC;QACnC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QACzB,GAAG,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC;CACL;AACD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7C,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE;QACL,gGAAgG;QAChG,QAAQ,EAAE;YACN,sBAAsB;YACtB,EAAE,CAAC,EAAE,KAAK,CAAC;YACX,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,MAAM,CAAC,EAAE;gBACL,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,IAAI,CAAC,EAAE,MAAM,CAAC;aACjB,EAAE,CAAC;YACJ,kBAAkB;YAClB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;SACnB,GAAG;YACA,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SAC1B,CAAC;QACF,gBAAgB,EAAE;YACd,KAAK,EAAE,MAAM,CAAC;YACd,qBAAqB;YACrB,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,GAAG,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;YACxM,iBAAiB;YACjB,WAAW,EAAE,MAAM,CAAC;YACpB,iBAAiB;YACjB,aAAa,EAAE,MAAM,CAAC;YACtB,qBAAqB;YACrB,KAAK,EAAE,OAAO,CAAC;YACf,kBAAkB;YAClB,aAAa,EAAE,MAAM,EAAE,CAAC;YACxB,kBAAkB;YAClB,aAAa,EAAE,MAAM,EAAE,CAAC;YACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,qBAAqB;YACrB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,EAAE,CAAC;SACvD,CAAC;QACF,cAAc,EAAE;YACZ,KAAK,EAAE,MAAM,CAAC;YACd,qBAAqB;YACrB,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,YAAY,GAAG,EAAE,GAAG,SAAS,CAAC;YAC5F,iBAAiB;YACjB,WAAW,EAAE,MAAM,CAAC;YACpB,iBAAiB;YACjB,aAAa,EAAE,MAAM,CAAC;YACtB,qBAAqB;YACrB,KAAK,EAAE,OAAO,CAAC;YACf,kBAAkB;YAClB,aAAa,EAAE,MAAM,EAAE,CAAC;YACxB,kBAAkB;YAClB,aAAa,EAAE,MAAM,EAAE,CAAC;YACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,qBAAqB;YACrB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,EAAE,CAAC;SACvD,CAAC;QACF,YAAY,EAAE;YACV,kBAAkB;YAClB,GAAG,EAAE,MAAM,CAAC;YACZ,qBAAqB;YACrB,cAAc,EAAE,OAAO,CAAC;SAC3B,CAAC;QACF,cAAc,EAAE;YACZ,kBAAkB;YAClB,GAAG,EAAE,MAAM,CAAC;YACZ,qBAAqB;YACrB,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;SAC5B,CAAC;QACF,eAAe,EAAE;YACb,cAAc,EAAE,MAAM,CAAC;YACvB,WAAW,CAAC,EAAE,MAAM,CAAC;SACxB,CAAC;QACF,cAAc,EAAE;YACZ,kBAAkB;YAClB,GAAG,EAAE,MAAM,CAAC;YACZ,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,eAAe,CAAC,EAAE;gBACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;aAC1B,CAAC;SACL,CAAC;QACF,gBAAgB,EAAE;YACd,kBAAkB;YAClB,GAAG,EAAE,MAAM,CAAC;YACZ,qBAAqB;YACrB,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;SAC5B,CAAC;QACF,YAAY,EAAE;YACV,KAAK,EAAE,MAAM,CAAC;YACd,kBAAkB;YAClB,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,CAAC,EAAE,MAAM,CAAC;SACpB,GAAG;YACA,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SAC1B,CAAC;QACF,cAAc,EAAE;YACZ,gBAAgB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAC5D,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;SACrB,CAAC;QACF,mBAAmB,EAAE;YACjB,OAAO,EAAE;gBACL,OAAO,EAAE,OAAO,CAAC;gBACjB,IAAI,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;gBAC/C,KAAK,CAAC,EAAE;oBACJ,OAAO,CAAC,EAAE,MAAM,CAAC;oBACjB,UAAU,CAAC,EAAE,MAAM,CAAC;iBACvB,CAAC;gBACF,IAAI,EAAE,MAAM,CAAC;aAChB,EAAE,CAAC;YACJ,OAAO,EAAE;gBACL,KAAK,EAAE,MAAM,CAAC;gBACd,UAAU,EAAE,MAAM,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC;gBACf,SAAS,EAAE,MAAM,CAAC;aACrB,CAAC;SACL,CAAC;QACF,YAAY,EAAE;YACV,gBAAgB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAC1D,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;SACrB,CAAC;QACF,iBAAiB,EAAE;YACf,OAAO,EAAE;gBACL,OAAO,EAAE,OAAO,CAAC;gBACjB,IAAI,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;gBAC7C,KAAK,CAAC,EAAE;oBACJ,OAAO,CAAC,EAAE,MAAM,CAAC;oBACjB,UAAU,CAAC,EAAE,MAAM,CAAC;iBACvB,CAAC;gBACF,IAAI,EAAE,MAAM,CAAC;aAChB,EAAE,CAAC;YACJ,OAAO,EAAE;gBACL,KAAK,EAAE,MAAM,CAAC;gBACd,UAAU,EAAE,MAAM,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC;gBACf,SAAS,EAAE,MAAM,CAAC;aACrB,CAAC;SACL,CAAC;QACF,WAAW,EAAE;YACT,KAAK,EAAE,MAAM,CAAC;YACd,kBAAkB;YAClB,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE;gBACP,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;aAC1B,CAAC;SACL,GAAG;YACA,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SAC1B,CAAC;QACF,aAAa,EAAE;YACX,eAAe,EAAE;gBACb,kBAAkB;gBAClB,GAAG,EAAE,MAAM,CAAC;aACf,CAAC;YACF,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;SACjD,CAAC;QACF,eAAe,EAAE;YACb,KAAK,EAAE,MAAM,EAAE,CAAC;SACnB,CAAC;QACF,cAAc,EAAE;YACZ,KAAK,EAAE,MAAM,CAAC;YACd,kBAAkB;YAClB,GAAG,EAAE,MAAM,CAAC;YACZ,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC/B,CAAC;QACF,gBAAgB,EAAE;YACd,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAC7D,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;SACtD,CAAC;QACF,eAAe,EAAE;YACb,sBAAsB;YACtB,OAAO,EAAE,IAAI,CAAC;YACd,iBAAiB,EAAE;gBACf,kBAAkB;gBAClB,GAAG,EAAE,MAAM,CAAC;aACf,CAAC;YACF,OAAO,EAAE,OAAO,CAAC;SACpB,CAAC;QACF,yBAAyB,EAAE;YACvB,MAAM,EAAE,MAAM,CAAC;YACf,qBAAqB;YACrB,MAAM,EAAE,QAAQ,CAAC;SACpB,CAAC;QACF,uBAAuB,EAAE;YACrB,MAAM,EAAE,MAAM,CAAC;YACf,qBAAqB;YACrB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;YACpF,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACtB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,kBAAkB;YAClB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC1B,GAAG;YACA,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SAC1B,CAAC;QACF,cAAc,EAAE;YACZ,MAAM,EAAE,MAAM,CAAC;YACf,wBAAwB;YACxB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,OAAO,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,aAAa,EAAE;YACX,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACxB,qBAAqB;YACrB,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC;YACrC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC7B,CAAC;KACL,CAAC;IACF,SAAS,EAAE,KAAK,CAAC;IACjB,UAAU,EAAE,KAAK,CAAC;IAClB,aAAa,EAAE,KAAK,CAAC;IACrB,OAAO,EAAE,KAAK,CAAC;IACf,SAAS,EAAE,KAAK,CAAC;CACpB;AACD,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1C,MAAM,WAAW,UAAU;IACvB,UAAU,EAAE;QACR,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE;oBAChB,kBAAkB;oBAClB,GAAG,EAAE,MAAM,CAAC;oBACZ;;;uBAGG;oBACH,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;oBACjC,qBAAqB;oBACrB,SAAS,CAAC,EAAE,OAAO,CAAC;oBACpB;;;;;;uBAMG;oBACH,QAAQ,CAAC,EAAE;wBACP,oBAAoB;wBACpB,KAAK,CAAC,EAAE,MAAM,CAAC;wBACf,mBAAmB;wBACnB,MAAM,CAAC,EAAE,MAAM,CAAC;wBAChB,iBAAiB;wBACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;qBAChC,CAAC;oBACF;;;uBAGG;oBACH,UAAU,CAAC,EAAE,kBAAkB,GAAG,MAAM,GAAG,aAAa,CAAC;oBACzD,iBAAiB,CAAC,EAAE,MAAM,CAAC;oBAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;oBAClB,iBAAiB;oBACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;oBAClB,qBAAqB;oBACrB,UAAU,CAAC,EAAE,MAAM,CAAC;oBACpB,OAAO,CAAC,EAAE,MAAM,CAAC;oBACjB,qBAAqB;oBACrB,eAAe,CAAC,EAAE,OAAO,CAAC;oBAC1B;;;uBAGG;oBACH,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;oBAChC;;;uBAGG;oBACH,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;iBACrC,CAAC;aACL,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,uCAAuC;YACvC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,WAAW,EAAE,MAAM,CAAC;oBACpB,YAAY,EAAE,MAAM,CAAC;oBACrB,YAAY,EAAE,MAAM,CAAC;iBACxB,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,gCAAgC;YAChC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,0BAA0B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACjE,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,qCAAqC;YACrC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,yCAAyC;YACzC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,uCAAuC;YACvC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,mCAAmC;YACnC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;SACL,CAAC;KACL,CAAC;IACF,MAAM,EAAE;QACJ,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE;oBAChB,KAAK,EAAE,MAAM,CAAC;oBACd,qBAAqB;oBACrB,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,GAAG,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;oBACxM,iBAAiB;oBACjB,WAAW,CAAC,EAAE,MAAM,CAAC;oBACrB,iBAAiB;oBACjB,aAAa,CAAC,EAAE,MAAM,CAAC;oBACvB,qBAAqB;oBACrB,KAAK,CAAC,EAAE,OAAO,CAAC;oBAChB,kBAAkB;oBAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;oBACzB,kBAAkB;oBAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;oBACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;oBAClB,qBAAqB;oBACrB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,EAAE,CAAC;iBACvD,GAAG;oBACA,KAAK,EAAE,MAAM,CAAC;oBACd,qBAAqB;oBACrB,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,GAAG,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;oBACxM,iBAAiB;oBACjB,WAAW,CAAC,EAAE,MAAM,CAAC;oBACrB,iBAAiB;oBACjB,aAAa,CAAC,EAAE,MAAM,CAAC;oBACvB,qBAAqB;oBACrB,KAAK,CAAC,EAAE,OAAO,CAAC;oBAChB,kBAAkB;oBAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;oBACzB,kBAAkB;oBAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;oBACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;oBAClB,qBAAqB;oBACrB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,EAAE,CAAC;iBACvD,EAAE,CAAC;aACP,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,uCAAuC;YACvC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC;iBAC9G,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,gCAAgC;YAChC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,0BAA0B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACjE,CAAC;aACL,CAAC;YACF,6BAA6B;YAC7B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,qCAAqC;YACrC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,yCAAyC;YACzC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;SACL,CAAC;KACL,CAAC;IACF,IAAI,EAAE;QACF,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE;oBAChB,KAAK,EAAE,MAAM,CAAC;oBACd,qBAAqB;oBACrB,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,YAAY,GAAG,EAAE,GAAG,SAAS,CAAC;oBAC5F,iBAAiB;oBACjB,WAAW,CAAC,EAAE,MAAM,CAAC;oBACrB,iBAAiB;oBACjB,aAAa,CAAC,EAAE,MAAM,CAAC;oBACvB,qBAAqB;oBACrB,KAAK,CAAC,EAAE,OAAO,CAAC;oBAChB,kBAAkB;oBAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;oBACzB,kBAAkB;oBAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;oBACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;oBAClB,qBAAqB;oBACrB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,EAAE,CAAC;iBACvD,GAAG;oBACA,KAAK,EAAE,MAAM,CAAC;oBACd,qBAAqB;oBACrB,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,GAAG,YAAY,GAAG,EAAE,GAAG,SAAS,CAAC;oBAC5F,iBAAiB;oBACjB,WAAW,CAAC,EAAE,MAAM,CAAC;oBACrB,iBAAiB;oBACjB,aAAa,CAAC,EAAE,MAAM,CAAC;oBACvB,qBAAqB;oBACrB,KAAK,CAAC,EAAE,OAAO,CAAC;oBAChB,kBAAkB;oBAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;oBACzB,kBAAkB;oBAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;oBACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;oBAClB,qBAAqB;oBACrB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,EAAE,CAAC;iBACvD,EAAE,CAAC;aACP,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,uCAAuC;YACvC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;iBAC1G,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,gCAAgC;YAChC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,0BAA0B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACjE,CAAC;aACL,CAAC;YACF,6BAA6B;YAC7B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,qCAAqC;YACrC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,yCAAyC;YACzC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;SACL,CAAC;KACL,CAAC;IACF,KAAK,EAAE;QACH,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE;oBAChB,kBAAkB;oBAClB,GAAG,EAAE,MAAM,CAAC;oBACZ,qBAAqB;oBACrB,cAAc,CAAC,EAAE,OAAO,CAAC;iBAC5B,GAAG;oBACA,kBAAkB;oBAClB,GAAG,EAAE,MAAM,CAAC;oBACZ,qBAAqB;oBACrB,cAAc,CAAC,EAAE,OAAO,CAAC;iBAC5B,EAAE,CAAC;aACP,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,uCAAuC;YACvC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC;iBACzG,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,gCAAgC;YAChC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,0BAA0B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACjE,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,qCAAqC;YACrC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,yCAAyC;YACzC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;SACL,CAAC;KACL,CAAC;IACF,OAAO,EAAE;QACL,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE;oBAChB,kBAAkB;oBAClB,GAAG,EAAE,MAAM,CAAC;oBACZ,qBAAqB;oBACrB,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;iBAC5B,CAAC;aACL,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,uCAAuC;YACvC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;iBAChE,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,gCAAgC;YAChC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,0BAA0B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACjE,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,qCAAqC;YACrC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,yCAAyC;YACzC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;SACL,CAAC;KACL,CAAC;IACF,QAAQ,EAAE;QACN,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE;oBAChB,cAAc,EAAE,MAAM,CAAC;oBACvB,WAAW,CAAC,EAAE,MAAM,CAAC;iBACxB,CAAC;aACL,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,uCAAuC;YACvC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;iBACjE,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,gCAAgC;YAChC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,0BAA0B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACjE,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,qCAAqC;YACrC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,yCAAyC;YACzC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;SACL,CAAC;KACL,CAAC;IACF,OAAO,EAAE;QACL,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE;oBAChB,kBAAkB;oBAClB,GAAG,EAAE,MAAM,CAAC;oBACZ,MAAM,CAAC,EAAE,MAAM,CAAC;oBAChB,eAAe,CAAC,EAAE;wBACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;qBAC1B,CAAC;iBACL,CAAC;aACL,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,uCAAuC;YACvC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;iBAChE,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,gCAAgC;YAChC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,0BAA0B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACjE,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,qCAAqC;YACrC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,yCAAyC;YACzC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;SACL,CAAC;KACL,CAAC;IACF,SAAS,EAAE;QACP,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,EAAE;YACT,OAAO,EAAE;gBACL,kBAAkB,EAAE;oBAChB,kBAAkB;oBAClB,GAAG,EAAE,MAAM,CAAC;oBACZ,qBAAqB;oBACrB,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;iBAC5B,CAAC;aACL,CAAC;SACL,CAAC;QACF,SAAS,EAAE;YACP,uCAAuC;YACvC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,2BAA2B,CAAC,CAAC;iBAC1E,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,gCAAgC;YAChC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,0BAA0B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACjE,CAAC;aACL,CAAC;YACF,oCAAoC;YACpC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,qCAAqC;YACrC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,yCAAyC;YACzC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;SACL,CAAC;KACL,CAAC;IACF,eAAe,EAAE;QACb,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,EAAE;gBACF,MAAM,EAAE,MAAM,CAAC;aAClB,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,uCAAuC;YACvC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,CAAC;iBACxE,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,6BAA6B;YAC7B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,yCAAyC;YACzC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;SACL,CAAC;KACL,CAAC;IACF,MAAM,EAAE;QACJ,UAAU,EAAE;YACR,KAAK,CAAC,EAAE,KAAK,CAAC;YACd,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,uCAAuC;YACvC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;iBAC/D,CAAC;aACL,CAAC;YACF,yCAAyC;YACzC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;SACL,CAAC;KACL,CAAC;IACF,KAAK,EAAE;QACH,UAAU,EAAE;YACR,KAAK,CAAC,EAAE;gBACJ,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;aAC9C,CAAC;YACF,MAAM,CAAC,EAAE,KAAK,CAAC;YACf,IAAI,CAAC,EAAE,KAAK,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,CAAC;SAClB,CAAC;QACF,WAAW,CAAC,EAAE,KAAK,CAAC;QACpB,SAAS,EAAE;YACP,uCAAuC;YACvC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;iBAC9D,CAAC;aACL,CAAC;YACF,+BAA+B;YAC/B,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,gCAAgC;YAChC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,qCAAqC;YACrC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;YACF,yCAAyC;YACzC,GAAG,EAAE;gBACD,OAAO,EAAE;oBACL,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;iBAC3B,CAAC;gBACF,OAAO,EAAE;oBACL,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;iBACzD,CAAC;aACL,CAAC;SACL,CAAC;KACL,CAAC;CACL"}
1
+ {"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../src/generated.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -444,7 +444,7 @@ var Search1API = class {
444
444
  const headers = new Headers({
445
445
  Accept: "application/json",
446
446
  Authorization: `Bearer ${this.apiKey}`,
447
- "X-Search1API-Client": "typescript/0.2.0",
447
+ "X-Search1API-Client": "typescript/0.2.1",
448
448
  ...this.defaultHeaders,
449
449
  ...options.headers
450
450
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/errors.ts", "../src/client.ts"],
4
- "sourcesContent": ["export { Search1API } from './client.js';\nexport {\n APIConnectionError,\n APIStatusError,\n APITimeoutError,\n AuthenticationError,\n BadRequestError,\n DeepcrawlFailedError,\n DeepcrawlTimeoutError,\n InternalServerError,\n NotFoundError,\n PaymentRequiredError,\n RateLimitError,\n Search1APIConfigurationError,\n Search1APIError,\n UnprocessableEntityError,\n} from './errors.js';\nexport type * from './types.js';\nexport type {\n components as OpenAPIComponents,\n paths as OpenAPIPaths,\n} from './generated.js';\n", "import type { ApiErrorBody, DeepcrawlStatusResponse } from './types.js';\n\nexport class Search1APIError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options);\n this.name = new.target.name;\n }\n}\n\nexport class Search1APIConfigurationError extends Search1APIError {}\n\nexport class APIConnectionError extends Search1APIError {}\n\nexport class APITimeoutError extends APIConnectionError {}\n\nexport class APIStatusError extends Search1APIError {\n readonly body?: ApiErrorBody;\n readonly headers: Headers;\n readonly requestId?: string;\n readonly status: number;\n\n constructor(\n message: string,\n status: number,\n headers: Headers,\n body?: ApiErrorBody\n ) {\n super(message);\n this.status = status;\n this.headers = headers;\n this.body = body;\n this.requestId = headers.get('x-request-id') ?? undefined;\n }\n}\n\nexport class BadRequestError extends APIStatusError {}\nexport class AuthenticationError extends APIStatusError {}\nexport class PaymentRequiredError extends APIStatusError {}\nexport class NotFoundError extends APIStatusError {}\nexport class UnprocessableEntityError extends APIStatusError {}\nexport class RateLimitError extends APIStatusError {}\nexport class InternalServerError extends APIStatusError {}\n\nexport class DeepcrawlFailedError extends Search1APIError {\n readonly response: DeepcrawlStatusResponse;\n\n constructor(response: DeepcrawlStatusResponse) {\n super(\n response.error ||\n response.message ||\n `Deepcrawl task ${response.taskId} failed`\n );\n this.response = response;\n }\n}\n\nexport class DeepcrawlTimeoutError extends Search1APIError {\n readonly taskId: string;\n\n constructor(taskId: string, timeoutMs: number) {\n super(`Deepcrawl task ${taskId} did not finish within ${timeoutMs}ms`);\n this.taskId = taskId;\n }\n}\n\nexport function apiStatusError(\n status: number,\n headers: Headers,\n body?: ApiErrorBody\n): APIStatusError {\n const message =\n body?.message ||\n body?.detail ||\n body?.error ||\n body?.title ||\n `Search1API request failed with status ${status}`;\n const ErrorClass =\n status === 400\n ? BadRequestError\n : status === 401\n ? AuthenticationError\n : status === 402\n ? PaymentRequiredError\n : status === 404\n ? NotFoundError\n : status === 422\n ? UnprocessableEntityError\n : status === 429\n ? RateLimitError\n : status >= 500\n ? InternalServerError\n : APIStatusError;\n\n return new ErrorClass(message, status, headers, body);\n}\n", "import {\n APIConnectionError,\n APITimeoutError,\n DeepcrawlFailedError,\n DeepcrawlTimeoutError,\n Search1APIConfigurationError,\n Search1APIError,\n apiStatusError,\n} from './errors.js';\nimport type {\n ApiErrorBody,\n BatchResponse,\n CrawlOptions,\n CrawlRequest,\n CrawlResponse,\n DeepcrawlAcceptedResponse,\n DeepcrawlOptions,\n DeepcrawlStatusResponse,\n ExtractOptions,\n ExtractResponse,\n HealthResponse,\n JsonValue,\n NewsOptions,\n NewsRequest,\n NewsResponse,\n RequestOptions,\n Search1APIOptions,\n SearchOptions,\n SearchRequest,\n SearchResponse,\n ScreenshotOptions,\n ScreenshotResponse,\n SitemapOptions,\n SitemapResponse,\n TimeRange,\n TrendingOptions,\n TrendingResponse,\n UsageResponse,\n WaitForDeepcrawlOptions,\n} from './types.js';\n\nconst DEFAULT_BASE_URL = 'https://api.search1api.com';\nconst DEFAULT_TIMEOUT_MS = 30_000;\nconst DEFAULT_MAX_RETRIES = 2;\nconst DEFAULT_RETRY_DELAY_MS = 500;\nconst DEFAULT_DEEPCRAWL_POLL_INTERVAL_MS = 2_000;\nconst DEFAULT_DEEPCRAWL_TIMEOUT_MS = 300_000;\n\ntype RequestBody = JsonValue | Record<string, unknown> | unknown[];\n\ninterface InternalRequestOptions extends RequestOptions {\n body?: RequestBody;\n method?: 'GET' | 'POST';\n query?: Record<string, string | undefined>;\n}\n\nfunction environmentApiKey(): string | undefined {\n const processLike = globalThis as typeof globalThis & {\n process?: { env?: Record<string, string | undefined> };\n };\n return processLike.process?.env?.SEARCH1API_API_KEY;\n}\n\nfunction compact<T extends Record<string, unknown>>(value: T): Partial<T> {\n return Object.fromEntries(\n Object.entries(value).filter(([, item]) => item !== undefined)\n ) as Partial<T>;\n}\n\nfunction searchBody(query: string, options: SearchOptions) {\n return compact({\n query,\n search_service: options.searchService,\n max_results: options.maxResults,\n crawl_results: options.crawlResults,\n image: options.image,\n include_sites: options.includeSites,\n exclude_sites: options.excludeSites,\n language: options.language,\n time_range: options.timeRange,\n });\n}\n\nfunction newsBody(query: string, options: NewsOptions) {\n return compact({\n query,\n search_service: options.searchService,\n max_results: options.maxResults,\n crawl_results: options.crawlResults,\n image: options.image,\n include_sites: options.includeSites,\n exclude_sites: options.excludeSites,\n language: options.language,\n time_range: options.timeRange,\n });\n}\n\nfunction screenshotBody(url: string, options: ScreenshotOptions) {\n return compact({\n url,\n format: options.format,\n full_page: options.fullPage,\n viewport: options.viewport\n ? compact({\n width: options.viewport.width,\n height: options.viewport.height,\n device_scale_factor: options.viewport.deviceScaleFactor,\n })\n : undefined,\n wait_until: options.waitUntil,\n wait_for_selector: options.waitForSelector,\n selector: options.selector,\n delay_ms: options.delayMs,\n timeout_ms: options.timeoutMs,\n quality: options.quality,\n omit_background: options.omitBackground,\n color_scheme: options.colorScheme,\n animations: options.animations,\n });\n}\n\nfunction retryAfterMs(response: Response): number | undefined {\n const value = response.headers.get('retry-after');\n if (!value) return undefined;\n\n const seconds = Number(value);\n if (Number.isFinite(seconds)) return Math.max(0, seconds * 1_000);\n\n const date = Date.parse(value);\n if (Number.isNaN(date)) return undefined;\n return Math.max(0, date - Date.now());\n}\n\nfunction shouldRetry(status: number): boolean {\n return status === 429 || status >= 500;\n}\n\nfunction validateRequestLimits(timeoutMs: number, maxRetries: number): void {\n if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {\n throw new Search1APIConfigurationError('timeoutMs must be positive');\n }\n if (!Number.isInteger(maxRetries) || maxRetries < 0) {\n throw new Search1APIConfigurationError(\n 'maxRetries must be a non-negative integer'\n );\n }\n}\n\nfunction sleep(ms: number, signal?: AbortSignal): Promise<void> {\n if (signal?.aborted) {\n return Promise.reject(\n new APIConnectionError('Search1API request was aborted')\n );\n }\n if (ms <= 0) return Promise.resolve();\n\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(() => {\n signal?.removeEventListener('abort', onAbort);\n resolve();\n }, ms);\n const onAbort = () => {\n clearTimeout(timeout);\n reject(new APIConnectionError('Search1API request was aborted'));\n };\n signal?.addEventListener('abort', onAbort, { once: true });\n });\n}\n\nasync function errorBody(\n response: Response\n): Promise<ApiErrorBody | undefined> {\n const text = await response.text();\n if (!text) return undefined;\n try {\n return JSON.parse(text) as ApiErrorBody;\n } catch {\n return { message: text };\n }\n}\n\nexport class Search1API {\n readonly apiKey: string;\n readonly baseUrl: string;\n readonly maxRetries: number;\n readonly timeoutMs: number;\n\n private readonly defaultHeaders: Record<string, string>;\n private readonly fetchClient: typeof fetch;\n private readonly retryDelayMs: number;\n\n constructor(options: Search1APIOptions | string = {}) {\n const normalized =\n typeof options === 'string' ? { apiKey: options } : options;\n const apiKey = normalized.apiKey || environmentApiKey();\n if (!apiKey) {\n throw new Search1APIConfigurationError(\n 'Missing API key. Pass apiKey or set SEARCH1API_API_KEY.'\n );\n }\n\n const fetchClient = normalized.fetch || globalThis.fetch;\n if (!fetchClient) {\n throw new Search1APIConfigurationError(\n 'No fetch implementation is available. Search1API requires Node.js 18+ or a custom fetch.'\n );\n }\n\n this.apiKey = apiKey;\n this.baseUrl = (normalized.baseUrl || DEFAULT_BASE_URL).replace(/\\/+$/, '');\n this.fetchClient = fetchClient;\n this.timeoutMs = normalized.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n this.maxRetries = normalized.maxRetries ?? DEFAULT_MAX_RETRIES;\n this.retryDelayMs = normalized.retryDelayMs ?? DEFAULT_RETRY_DELAY_MS;\n validateRequestLimits(this.timeoutMs, this.maxRetries);\n if (!Number.isFinite(this.retryDelayMs) || this.retryDelayMs < 0) {\n throw new Search1APIConfigurationError(\n 'retryDelayMs must be non-negative'\n );\n }\n this.defaultHeaders = normalized.headers ?? {};\n }\n\n async search(\n query: string,\n options: SearchOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<SearchResponse> {\n return this.requestJson<SearchResponse>('/search', {\n ...requestOptions,\n method: 'POST',\n body: searchBody(query, options),\n });\n }\n\n async searchBatch(\n requests: SearchRequest[],\n requestOptions: RequestOptions = {}\n ): Promise<BatchResponse<SearchResponse>> {\n return this.requestJson<BatchResponse<SearchResponse>>('/search', {\n ...requestOptions,\n method: 'POST',\n body: requests.map(({ query, ...options }) => searchBody(query, options)),\n });\n }\n\n async news(\n query: string,\n options: NewsOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<NewsResponse> {\n return this.requestJson<NewsResponse>('/news', {\n ...requestOptions,\n method: 'POST',\n body: newsBody(query, options),\n });\n }\n\n async newsBatch(\n requests: NewsRequest[],\n requestOptions: RequestOptions = {}\n ): Promise<BatchResponse<NewsResponse>> {\n return this.requestJson<BatchResponse<NewsResponse>>('/news', {\n ...requestOptions,\n method: 'POST',\n body: requests.map(({ query, ...options }) => newsBody(query, options)),\n });\n }\n\n async crawl(\n url: string,\n options: CrawlOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<CrawlResponse> {\n return this.requestJson<CrawlResponse>('/crawl', {\n ...requestOptions,\n method: 'POST',\n body: compact({ url, enableFallback: options.enableFallback }),\n });\n }\n\n async crawlBatch(\n requests: CrawlRequest[],\n requestOptions: RequestOptions = {}\n ): Promise<CrawlResponse[]> {\n return this.requestJson<CrawlResponse[]>('/crawl', {\n ...requestOptions,\n method: 'POST',\n body: requests.map(({ url, enableFallback }) =>\n compact({ url, enableFallback })\n ),\n });\n }\n\n async screenshot(\n url: string,\n options: ScreenshotOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<ScreenshotResponse> {\n const response = await this.request('/screenshot', {\n ...requestOptions,\n method: 'POST',\n headers: {\n Accept: `image/${options.format || 'png'}`,\n ...requestOptions.headers,\n },\n body: screenshotBody(url, options),\n });\n return {\n data: new Uint8Array(await response.arrayBuffer()),\n contentType:\n response.headers.get('content-type') || `image/${options.format || 'png'}`,\n requestId: response.headers.get('x-request-id') || undefined,\n };\n }\n\n async sitemap(\n url: string,\n options: SitemapOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<SitemapResponse> {\n return this.requestJson<SitemapResponse>('/sitemap', {\n ...requestOptions,\n method: 'POST',\n body: compact({ url, type: options.type }),\n });\n }\n\n async trending(\n searchService: string,\n options: TrendingOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<TrendingResponse> {\n return this.requestJson<TrendingResponse>('/trending', {\n ...requestOptions,\n method: 'POST',\n body: compact({\n search_service: searchService,\n max_results: options.maxResults,\n }),\n });\n }\n\n async extract<T = JsonValue>(\n url: string,\n options: ExtractOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<ExtractResponse<T>> {\n return this.requestJson<ExtractResponse<T>>('/extract', {\n ...requestOptions,\n method: 'POST',\n body: compact({\n url,\n prompt: options.prompt,\n response_format: options.responseFormat,\n }),\n });\n }\n\n async startDeepcrawl(\n url: string,\n options: DeepcrawlOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<DeepcrawlAcceptedResponse> {\n return this.requestJson<DeepcrawlAcceptedResponse>('/deepcrawl', {\n ...requestOptions,\n // Starting a task is not idempotent. A lost response could otherwise\n // enqueue and charge a duplicate crawl.\n maxRetries: requestOptions.maxRetries ?? 0,\n method: 'POST',\n body: compact({ url, type: options.type }),\n });\n }\n\n async getDeepcrawlStatus(\n taskId: string,\n requestOptions: RequestOptions = {}\n ): Promise<DeepcrawlStatusResponse> {\n return this.requestJson<DeepcrawlStatusResponse>(\n `/deepcrawl/status/${encodeURIComponent(taskId)}`,\n requestOptions\n );\n }\n\n async waitForDeepcrawl(\n taskId: string,\n options: WaitForDeepcrawlOptions = {}\n ): Promise<DeepcrawlStatusResponse> {\n const pollIntervalMs =\n options.pollIntervalMs ?? DEFAULT_DEEPCRAWL_POLL_INTERVAL_MS;\n const timeoutMs = options.timeoutMs ?? DEFAULT_DEEPCRAWL_TIMEOUT_MS;\n const deadline = Date.now() + timeoutMs;\n\n while (true) {\n const response = await this.getDeepcrawlStatus(taskId, {\n signal: options.signal,\n });\n if (response.success === true || response.status === 'completed') {\n return response;\n }\n if (\n response.success === false ||\n response.status === 'failed' ||\n response.status === 'not_found'\n ) {\n throw new DeepcrawlFailedError(response);\n }\n if (Date.now() + pollIntervalMs > deadline) {\n throw new DeepcrawlTimeoutError(taskId, timeoutMs);\n }\n await sleep(pollIntervalMs, options.signal);\n }\n }\n\n async deepcrawl(\n url: string,\n options: DeepcrawlOptions = {},\n waitOptions: WaitForDeepcrawlOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<DeepcrawlStatusResponse> {\n const task = await this.startDeepcrawl(url, options, requestOptions);\n return this.waitForDeepcrawl(task.taskId, waitOptions);\n }\n\n async usage(\n period?: TimeRange,\n requestOptions: RequestOptions = {}\n ): Promise<UsageResponse> {\n return this.requestJson<UsageResponse>('/usage', {\n ...requestOptions,\n query: { period },\n });\n }\n\n async health(requestOptions: RequestOptions = {}): Promise<HealthResponse> {\n return this.requestJson<HealthResponse>('/health', requestOptions);\n }\n\n private async requestJson<T>(\n path: string,\n options: InternalRequestOptions = {}\n ): Promise<T> {\n const response = await this.request(path, options);\n const text = await response.text();\n try {\n return JSON.parse(text) as T;\n } catch (error) {\n throw new Search1APIError(\n `Search1API returned invalid JSON for ${path}`,\n { cause: error }\n );\n }\n }\n\n private async request(\n path: string,\n options: InternalRequestOptions = {}\n ): Promise<Response> {\n const maxRetries = options.maxRetries ?? this.maxRetries;\n validateRequestLimits(options.timeoutMs ?? this.timeoutMs, maxRetries);\n const url = new URL(`${this.baseUrl}${path}`);\n for (const [name, value] of Object.entries(options.query || {})) {\n if (value !== undefined) url.searchParams.set(name, value);\n }\n\n for (let attempt = 0; attempt <= maxRetries; attempt += 1) {\n let response: Response;\n try {\n response = await this.fetchOnce(url, options);\n } catch (error) {\n if (\n attempt < maxRetries &&\n !options.signal?.aborted &&\n (error instanceof APIConnectionError ||\n error instanceof APITimeoutError)\n ) {\n await sleep(this.retryDelay(attempt), options.signal);\n continue;\n }\n throw error;\n }\n\n if (response.ok) return response;\n if (attempt < maxRetries && shouldRetry(response.status)) {\n await sleep(\n retryAfterMs(response) ?? this.retryDelay(attempt),\n options.signal\n );\n continue;\n }\n\n throw apiStatusError(\n response.status,\n response.headers,\n await errorBody(response)\n );\n }\n\n throw new Search1APIError('Search1API request exhausted its retry budget');\n }\n\n private async fetchOnce(\n url: URL,\n options: InternalRequestOptions\n ): Promise<Response> {\n const controller = new AbortController();\n let timedOut = false;\n const timeout = setTimeout(() => {\n timedOut = true;\n controller.abort();\n }, options.timeoutMs ?? this.timeoutMs);\n const onAbort = () => controller.abort(options.signal?.reason);\n options.signal?.addEventListener('abort', onAbort, { once: true });\n\n const headers = new Headers({\n Accept: 'application/json',\n Authorization: `Bearer ${this.apiKey}`,\n 'X-Search1API-Client': 'typescript/0.2.0',\n ...this.defaultHeaders,\n ...options.headers,\n });\n if (options.body !== undefined)\n headers.set('Content-Type', 'application/json');\n\n try {\n return await this.fetchClient(url, {\n method: options.method || 'GET',\n headers,\n body:\n options.body === undefined ? undefined : JSON.stringify(options.body),\n signal: controller.signal,\n });\n } catch (error) {\n if (timedOut) {\n throw new APITimeoutError(\n `Search1API request timed out after ${options.timeoutMs ?? this.timeoutMs}ms`,\n { cause: error }\n );\n }\n if (options.signal?.aborted) {\n throw new APIConnectionError('Search1API request was aborted', {\n cause: error,\n });\n }\n throw new APIConnectionError('Unable to connect to Search1API', {\n cause: error,\n });\n } finally {\n clearTimeout(timeout);\n options.signal?.removeEventListener('abort', onAbort);\n }\n }\n\n private retryDelay(attempt: number): number {\n const base = this.retryDelayMs * 2 ** attempt;\n return base + Math.floor(Math.random() * base * 0.25);\n }\n}\n"],
4
+ "sourcesContent": ["export { Search1API } from './client.js';\nexport {\n APIConnectionError,\n APIStatusError,\n APITimeoutError,\n AuthenticationError,\n BadRequestError,\n DeepcrawlFailedError,\n DeepcrawlTimeoutError,\n InternalServerError,\n NotFoundError,\n PaymentRequiredError,\n RateLimitError,\n Search1APIConfigurationError,\n Search1APIError,\n UnprocessableEntityError,\n} from './errors.js';\nexport type * from './types.js';\nexport type {\n components as OpenAPIComponents,\n paths as OpenAPIPaths,\n} from './generated.js';\n", "import type { ApiErrorBody, DeepcrawlStatusResponse } from './types.js';\n\nexport class Search1APIError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options);\n this.name = new.target.name;\n }\n}\n\nexport class Search1APIConfigurationError extends Search1APIError {}\n\nexport class APIConnectionError extends Search1APIError {}\n\nexport class APITimeoutError extends APIConnectionError {}\n\nexport class APIStatusError extends Search1APIError {\n readonly body?: ApiErrorBody;\n readonly headers: Headers;\n readonly requestId?: string;\n readonly status: number;\n\n constructor(\n message: string,\n status: number,\n headers: Headers,\n body?: ApiErrorBody\n ) {\n super(message);\n this.status = status;\n this.headers = headers;\n this.body = body;\n this.requestId = headers.get('x-request-id') ?? undefined;\n }\n}\n\nexport class BadRequestError extends APIStatusError {}\nexport class AuthenticationError extends APIStatusError {}\nexport class PaymentRequiredError extends APIStatusError {}\nexport class NotFoundError extends APIStatusError {}\nexport class UnprocessableEntityError extends APIStatusError {}\nexport class RateLimitError extends APIStatusError {}\nexport class InternalServerError extends APIStatusError {}\n\nexport class DeepcrawlFailedError extends Search1APIError {\n readonly response: DeepcrawlStatusResponse;\n\n constructor(response: DeepcrawlStatusResponse) {\n super(\n response.error ||\n response.message ||\n `Deepcrawl task ${response.taskId} failed`\n );\n this.response = response;\n }\n}\n\nexport class DeepcrawlTimeoutError extends Search1APIError {\n readonly taskId: string;\n\n constructor(taskId: string, timeoutMs: number) {\n super(`Deepcrawl task ${taskId} did not finish within ${timeoutMs}ms`);\n this.taskId = taskId;\n }\n}\n\nexport function apiStatusError(\n status: number,\n headers: Headers,\n body?: ApiErrorBody\n): APIStatusError {\n const message =\n body?.message ||\n body?.detail ||\n body?.error ||\n body?.title ||\n `Search1API request failed with status ${status}`;\n const ErrorClass =\n status === 400\n ? BadRequestError\n : status === 401\n ? AuthenticationError\n : status === 402\n ? PaymentRequiredError\n : status === 404\n ? NotFoundError\n : status === 422\n ? UnprocessableEntityError\n : status === 429\n ? RateLimitError\n : status >= 500\n ? InternalServerError\n : APIStatusError;\n\n return new ErrorClass(message, status, headers, body);\n}\n", "import {\n APIConnectionError,\n APITimeoutError,\n DeepcrawlFailedError,\n DeepcrawlTimeoutError,\n Search1APIConfigurationError,\n Search1APIError,\n apiStatusError,\n} from './errors.js';\nimport type {\n ApiErrorBody,\n BatchResponse,\n CrawlOptions,\n CrawlRequest,\n CrawlResponse,\n DeepcrawlAcceptedResponse,\n DeepcrawlOptions,\n DeepcrawlStatusResponse,\n ExtractOptions,\n ExtractResponse,\n HealthResponse,\n JsonValue,\n NewsOptions,\n NewsRequest,\n NewsResponse,\n RequestOptions,\n Search1APIOptions,\n SearchOptions,\n SearchRequest,\n SearchResponse,\n ScreenshotOptions,\n ScreenshotResponse,\n SitemapOptions,\n SitemapResponse,\n TimeRange,\n TrendingOptions,\n TrendingResponse,\n UsageResponse,\n WaitForDeepcrawlOptions,\n} from './types.js';\n\nconst DEFAULT_BASE_URL = 'https://api.search1api.com';\nconst DEFAULT_TIMEOUT_MS = 30_000;\nconst DEFAULT_MAX_RETRIES = 2;\nconst DEFAULT_RETRY_DELAY_MS = 500;\nconst DEFAULT_DEEPCRAWL_POLL_INTERVAL_MS = 2_000;\nconst DEFAULT_DEEPCRAWL_TIMEOUT_MS = 300_000;\n\ntype RequestBody = JsonValue | Record<string, unknown> | unknown[];\n\ninterface InternalRequestOptions extends RequestOptions {\n body?: RequestBody;\n method?: 'GET' | 'POST';\n query?: Record<string, string | undefined>;\n}\n\nfunction environmentApiKey(): string | undefined {\n const processLike = globalThis as typeof globalThis & {\n process?: { env?: Record<string, string | undefined> };\n };\n return processLike.process?.env?.SEARCH1API_API_KEY;\n}\n\nfunction compact<T extends Record<string, unknown>>(value: T): Partial<T> {\n return Object.fromEntries(\n Object.entries(value).filter(([, item]) => item !== undefined)\n ) as Partial<T>;\n}\n\nfunction searchBody(query: string, options: SearchOptions) {\n return compact({\n query,\n search_service: options.searchService,\n max_results: options.maxResults,\n crawl_results: options.crawlResults,\n image: options.image,\n include_sites: options.includeSites,\n exclude_sites: options.excludeSites,\n language: options.language,\n time_range: options.timeRange,\n });\n}\n\nfunction newsBody(query: string, options: NewsOptions) {\n return compact({\n query,\n search_service: options.searchService,\n max_results: options.maxResults,\n crawl_results: options.crawlResults,\n image: options.image,\n include_sites: options.includeSites,\n exclude_sites: options.excludeSites,\n language: options.language,\n time_range: options.timeRange,\n });\n}\n\nfunction screenshotBody(url: string, options: ScreenshotOptions) {\n return compact({\n url,\n format: options.format,\n full_page: options.fullPage,\n viewport: options.viewport\n ? compact({\n width: options.viewport.width,\n height: options.viewport.height,\n device_scale_factor: options.viewport.deviceScaleFactor,\n })\n : undefined,\n wait_until: options.waitUntil,\n wait_for_selector: options.waitForSelector,\n selector: options.selector,\n delay_ms: options.delayMs,\n timeout_ms: options.timeoutMs,\n quality: options.quality,\n omit_background: options.omitBackground,\n color_scheme: options.colorScheme,\n animations: options.animations,\n });\n}\n\nfunction retryAfterMs(response: Response): number | undefined {\n const value = response.headers.get('retry-after');\n if (!value) return undefined;\n\n const seconds = Number(value);\n if (Number.isFinite(seconds)) return Math.max(0, seconds * 1_000);\n\n const date = Date.parse(value);\n if (Number.isNaN(date)) return undefined;\n return Math.max(0, date - Date.now());\n}\n\nfunction shouldRetry(status: number): boolean {\n return status === 429 || status >= 500;\n}\n\nfunction validateRequestLimits(timeoutMs: number, maxRetries: number): void {\n if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {\n throw new Search1APIConfigurationError('timeoutMs must be positive');\n }\n if (!Number.isInteger(maxRetries) || maxRetries < 0) {\n throw new Search1APIConfigurationError(\n 'maxRetries must be a non-negative integer'\n );\n }\n}\n\nfunction sleep(ms: number, signal?: AbortSignal): Promise<void> {\n if (signal?.aborted) {\n return Promise.reject(\n new APIConnectionError('Search1API request was aborted')\n );\n }\n if (ms <= 0) return Promise.resolve();\n\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(() => {\n signal?.removeEventListener('abort', onAbort);\n resolve();\n }, ms);\n const onAbort = () => {\n clearTimeout(timeout);\n reject(new APIConnectionError('Search1API request was aborted'));\n };\n signal?.addEventListener('abort', onAbort, { once: true });\n });\n}\n\nasync function errorBody(\n response: Response\n): Promise<ApiErrorBody | undefined> {\n const text = await response.text();\n if (!text) return undefined;\n try {\n return JSON.parse(text) as ApiErrorBody;\n } catch {\n return { message: text };\n }\n}\n\nexport class Search1API {\n readonly apiKey: string;\n readonly baseUrl: string;\n readonly maxRetries: number;\n readonly timeoutMs: number;\n\n private readonly defaultHeaders: Record<string, string>;\n private readonly fetchClient: typeof fetch;\n private readonly retryDelayMs: number;\n\n constructor(options: Search1APIOptions | string = {}) {\n const normalized =\n typeof options === 'string' ? { apiKey: options } : options;\n const apiKey = normalized.apiKey || environmentApiKey();\n if (!apiKey) {\n throw new Search1APIConfigurationError(\n 'Missing API key. Pass apiKey or set SEARCH1API_API_KEY.'\n );\n }\n\n const fetchClient = normalized.fetch || globalThis.fetch;\n if (!fetchClient) {\n throw new Search1APIConfigurationError(\n 'No fetch implementation is available. Search1API requires Node.js 18+ or a custom fetch.'\n );\n }\n\n this.apiKey = apiKey;\n this.baseUrl = (normalized.baseUrl || DEFAULT_BASE_URL).replace(/\\/+$/, '');\n this.fetchClient = fetchClient;\n this.timeoutMs = normalized.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n this.maxRetries = normalized.maxRetries ?? DEFAULT_MAX_RETRIES;\n this.retryDelayMs = normalized.retryDelayMs ?? DEFAULT_RETRY_DELAY_MS;\n validateRequestLimits(this.timeoutMs, this.maxRetries);\n if (!Number.isFinite(this.retryDelayMs) || this.retryDelayMs < 0) {\n throw new Search1APIConfigurationError(\n 'retryDelayMs must be non-negative'\n );\n }\n this.defaultHeaders = normalized.headers ?? {};\n }\n\n async search(\n query: string,\n options: SearchOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<SearchResponse> {\n return this.requestJson<SearchResponse>('/search', {\n ...requestOptions,\n method: 'POST',\n body: searchBody(query, options),\n });\n }\n\n async searchBatch(\n requests: SearchRequest[],\n requestOptions: RequestOptions = {}\n ): Promise<BatchResponse<SearchResponse>> {\n return this.requestJson<BatchResponse<SearchResponse>>('/search', {\n ...requestOptions,\n method: 'POST',\n body: requests.map(({ query, ...options }) => searchBody(query, options)),\n });\n }\n\n async news(\n query: string,\n options: NewsOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<NewsResponse> {\n return this.requestJson<NewsResponse>('/news', {\n ...requestOptions,\n method: 'POST',\n body: newsBody(query, options),\n });\n }\n\n async newsBatch(\n requests: NewsRequest[],\n requestOptions: RequestOptions = {}\n ): Promise<BatchResponse<NewsResponse>> {\n return this.requestJson<BatchResponse<NewsResponse>>('/news', {\n ...requestOptions,\n method: 'POST',\n body: requests.map(({ query, ...options }) => newsBody(query, options)),\n });\n }\n\n async crawl(\n url: string,\n options: CrawlOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<CrawlResponse> {\n return this.requestJson<CrawlResponse>('/crawl', {\n ...requestOptions,\n method: 'POST',\n body: compact({ url, enableFallback: options.enableFallback }),\n });\n }\n\n async crawlBatch(\n requests: CrawlRequest[],\n requestOptions: RequestOptions = {}\n ): Promise<CrawlResponse[]> {\n return this.requestJson<CrawlResponse[]>('/crawl', {\n ...requestOptions,\n method: 'POST',\n body: requests.map(({ url, enableFallback }) =>\n compact({ url, enableFallback })\n ),\n });\n }\n\n async screenshot(\n url: string,\n options: ScreenshotOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<ScreenshotResponse> {\n const response = await this.request('/screenshot', {\n ...requestOptions,\n method: 'POST',\n headers: {\n Accept: `image/${options.format || 'png'}`,\n ...requestOptions.headers,\n },\n body: screenshotBody(url, options),\n });\n return {\n data: new Uint8Array(await response.arrayBuffer()),\n contentType:\n response.headers.get('content-type') || `image/${options.format || 'png'}`,\n requestId: response.headers.get('x-request-id') || undefined,\n };\n }\n\n async sitemap(\n url: string,\n options: SitemapOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<SitemapResponse> {\n return this.requestJson<SitemapResponse>('/sitemap', {\n ...requestOptions,\n method: 'POST',\n body: compact({ url, type: options.type }),\n });\n }\n\n async trending(\n searchService: string,\n options: TrendingOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<TrendingResponse> {\n return this.requestJson<TrendingResponse>('/trending', {\n ...requestOptions,\n method: 'POST',\n body: compact({\n search_service: searchService,\n max_results: options.maxResults,\n }),\n });\n }\n\n async extract<T = JsonValue>(\n url: string,\n options: ExtractOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<ExtractResponse<T>> {\n return this.requestJson<ExtractResponse<T>>('/extract', {\n ...requestOptions,\n method: 'POST',\n body: compact({\n url,\n prompt: options.prompt,\n response_format: options.responseFormat,\n }),\n });\n }\n\n async startDeepcrawl(\n url: string,\n options: DeepcrawlOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<DeepcrawlAcceptedResponse> {\n return this.requestJson<DeepcrawlAcceptedResponse>('/deepcrawl', {\n ...requestOptions,\n // Starting a task is not idempotent. A lost response could otherwise\n // enqueue and charge a duplicate crawl.\n maxRetries: requestOptions.maxRetries ?? 0,\n method: 'POST',\n body: compact({ url, type: options.type }),\n });\n }\n\n async getDeepcrawlStatus(\n taskId: string,\n requestOptions: RequestOptions = {}\n ): Promise<DeepcrawlStatusResponse> {\n return this.requestJson<DeepcrawlStatusResponse>(\n `/deepcrawl/status/${encodeURIComponent(taskId)}`,\n requestOptions\n );\n }\n\n async waitForDeepcrawl(\n taskId: string,\n options: WaitForDeepcrawlOptions = {}\n ): Promise<DeepcrawlStatusResponse> {\n const pollIntervalMs =\n options.pollIntervalMs ?? DEFAULT_DEEPCRAWL_POLL_INTERVAL_MS;\n const timeoutMs = options.timeoutMs ?? DEFAULT_DEEPCRAWL_TIMEOUT_MS;\n const deadline = Date.now() + timeoutMs;\n\n while (true) {\n const response = await this.getDeepcrawlStatus(taskId, {\n signal: options.signal,\n });\n if (response.success === true || response.status === 'completed') {\n return response;\n }\n if (\n response.success === false ||\n response.status === 'failed' ||\n response.status === 'not_found'\n ) {\n throw new DeepcrawlFailedError(response);\n }\n if (Date.now() + pollIntervalMs > deadline) {\n throw new DeepcrawlTimeoutError(taskId, timeoutMs);\n }\n await sleep(pollIntervalMs, options.signal);\n }\n }\n\n async deepcrawl(\n url: string,\n options: DeepcrawlOptions = {},\n waitOptions: WaitForDeepcrawlOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<DeepcrawlStatusResponse> {\n const task = await this.startDeepcrawl(url, options, requestOptions);\n return this.waitForDeepcrawl(task.taskId, waitOptions);\n }\n\n async usage(\n period?: TimeRange,\n requestOptions: RequestOptions = {}\n ): Promise<UsageResponse> {\n return this.requestJson<UsageResponse>('/usage', {\n ...requestOptions,\n query: { period },\n });\n }\n\n async health(requestOptions: RequestOptions = {}): Promise<HealthResponse> {\n return this.requestJson<HealthResponse>('/health', requestOptions);\n }\n\n private async requestJson<T>(\n path: string,\n options: InternalRequestOptions = {}\n ): Promise<T> {\n const response = await this.request(path, options);\n const text = await response.text();\n try {\n return JSON.parse(text) as T;\n } catch (error) {\n throw new Search1APIError(\n `Search1API returned invalid JSON for ${path}`,\n { cause: error }\n );\n }\n }\n\n private async request(\n path: string,\n options: InternalRequestOptions = {}\n ): Promise<Response> {\n const maxRetries = options.maxRetries ?? this.maxRetries;\n validateRequestLimits(options.timeoutMs ?? this.timeoutMs, maxRetries);\n const url = new URL(`${this.baseUrl}${path}`);\n for (const [name, value] of Object.entries(options.query || {})) {\n if (value !== undefined) url.searchParams.set(name, value);\n }\n\n for (let attempt = 0; attempt <= maxRetries; attempt += 1) {\n let response: Response;\n try {\n response = await this.fetchOnce(url, options);\n } catch (error) {\n if (\n attempt < maxRetries &&\n !options.signal?.aborted &&\n (error instanceof APIConnectionError ||\n error instanceof APITimeoutError)\n ) {\n await sleep(this.retryDelay(attempt), options.signal);\n continue;\n }\n throw error;\n }\n\n if (response.ok) return response;\n if (attempt < maxRetries && shouldRetry(response.status)) {\n await sleep(\n retryAfterMs(response) ?? this.retryDelay(attempt),\n options.signal\n );\n continue;\n }\n\n throw apiStatusError(\n response.status,\n response.headers,\n await errorBody(response)\n );\n }\n\n throw new Search1APIError('Search1API request exhausted its retry budget');\n }\n\n private async fetchOnce(\n url: URL,\n options: InternalRequestOptions\n ): Promise<Response> {\n const controller = new AbortController();\n let timedOut = false;\n const timeout = setTimeout(() => {\n timedOut = true;\n controller.abort();\n }, options.timeoutMs ?? this.timeoutMs);\n const onAbort = () => controller.abort(options.signal?.reason);\n options.signal?.addEventListener('abort', onAbort, { once: true });\n\n const headers = new Headers({\n Accept: 'application/json',\n Authorization: `Bearer ${this.apiKey}`,\n 'X-Search1API-Client': 'typescript/0.2.1',\n ...this.defaultHeaders,\n ...options.headers,\n });\n if (options.body !== undefined)\n headers.set('Content-Type', 'application/json');\n\n try {\n return await this.fetchClient(url, {\n method: options.method || 'GET',\n headers,\n body:\n options.body === undefined ? undefined : JSON.stringify(options.body),\n signal: controller.signal,\n });\n } catch (error) {\n if (timedOut) {\n throw new APITimeoutError(\n `Search1API request timed out after ${options.timeoutMs ?? this.timeoutMs}ms`,\n { cause: error }\n );\n }\n if (options.signal?.aborted) {\n throw new APIConnectionError('Search1API request was aborted', {\n cause: error,\n });\n }\n throw new APIConnectionError('Unable to connect to Search1API', {\n cause: error,\n });\n } finally {\n clearTimeout(timeout);\n options.signal?.removeEventListener('abort', onAbort);\n }\n }\n\n private retryDelay(attempt: number): number {\n const base = this.retryDelayMs * 2 ** attempt;\n return base + Math.floor(Math.random() * base * 0.25);\n }\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
package/dist/index.js CHANGED
@@ -404,7 +404,7 @@ var Search1API = class {
404
404
  const headers = new Headers({
405
405
  Accept: "application/json",
406
406
  Authorization: `Bearer ${this.apiKey}`,
407
- "X-Search1API-Client": "typescript/0.2.0",
407
+ "X-Search1API-Client": "typescript/0.2.1",
408
408
  ...this.defaultHeaders,
409
409
  ...options.headers
410
410
  });
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/errors.ts", "../src/client.ts"],
4
- "sourcesContent": ["import type { ApiErrorBody, DeepcrawlStatusResponse } from './types.js';\n\nexport class Search1APIError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options);\n this.name = new.target.name;\n }\n}\n\nexport class Search1APIConfigurationError extends Search1APIError {}\n\nexport class APIConnectionError extends Search1APIError {}\n\nexport class APITimeoutError extends APIConnectionError {}\n\nexport class APIStatusError extends Search1APIError {\n readonly body?: ApiErrorBody;\n readonly headers: Headers;\n readonly requestId?: string;\n readonly status: number;\n\n constructor(\n message: string,\n status: number,\n headers: Headers,\n body?: ApiErrorBody\n ) {\n super(message);\n this.status = status;\n this.headers = headers;\n this.body = body;\n this.requestId = headers.get('x-request-id') ?? undefined;\n }\n}\n\nexport class BadRequestError extends APIStatusError {}\nexport class AuthenticationError extends APIStatusError {}\nexport class PaymentRequiredError extends APIStatusError {}\nexport class NotFoundError extends APIStatusError {}\nexport class UnprocessableEntityError extends APIStatusError {}\nexport class RateLimitError extends APIStatusError {}\nexport class InternalServerError extends APIStatusError {}\n\nexport class DeepcrawlFailedError extends Search1APIError {\n readonly response: DeepcrawlStatusResponse;\n\n constructor(response: DeepcrawlStatusResponse) {\n super(\n response.error ||\n response.message ||\n `Deepcrawl task ${response.taskId} failed`\n );\n this.response = response;\n }\n}\n\nexport class DeepcrawlTimeoutError extends Search1APIError {\n readonly taskId: string;\n\n constructor(taskId: string, timeoutMs: number) {\n super(`Deepcrawl task ${taskId} did not finish within ${timeoutMs}ms`);\n this.taskId = taskId;\n }\n}\n\nexport function apiStatusError(\n status: number,\n headers: Headers,\n body?: ApiErrorBody\n): APIStatusError {\n const message =\n body?.message ||\n body?.detail ||\n body?.error ||\n body?.title ||\n `Search1API request failed with status ${status}`;\n const ErrorClass =\n status === 400\n ? BadRequestError\n : status === 401\n ? AuthenticationError\n : status === 402\n ? PaymentRequiredError\n : status === 404\n ? NotFoundError\n : status === 422\n ? UnprocessableEntityError\n : status === 429\n ? RateLimitError\n : status >= 500\n ? InternalServerError\n : APIStatusError;\n\n return new ErrorClass(message, status, headers, body);\n}\n", "import {\n APIConnectionError,\n APITimeoutError,\n DeepcrawlFailedError,\n DeepcrawlTimeoutError,\n Search1APIConfigurationError,\n Search1APIError,\n apiStatusError,\n} from './errors.js';\nimport type {\n ApiErrorBody,\n BatchResponse,\n CrawlOptions,\n CrawlRequest,\n CrawlResponse,\n DeepcrawlAcceptedResponse,\n DeepcrawlOptions,\n DeepcrawlStatusResponse,\n ExtractOptions,\n ExtractResponse,\n HealthResponse,\n JsonValue,\n NewsOptions,\n NewsRequest,\n NewsResponse,\n RequestOptions,\n Search1APIOptions,\n SearchOptions,\n SearchRequest,\n SearchResponse,\n ScreenshotOptions,\n ScreenshotResponse,\n SitemapOptions,\n SitemapResponse,\n TimeRange,\n TrendingOptions,\n TrendingResponse,\n UsageResponse,\n WaitForDeepcrawlOptions,\n} from './types.js';\n\nconst DEFAULT_BASE_URL = 'https://api.search1api.com';\nconst DEFAULT_TIMEOUT_MS = 30_000;\nconst DEFAULT_MAX_RETRIES = 2;\nconst DEFAULT_RETRY_DELAY_MS = 500;\nconst DEFAULT_DEEPCRAWL_POLL_INTERVAL_MS = 2_000;\nconst DEFAULT_DEEPCRAWL_TIMEOUT_MS = 300_000;\n\ntype RequestBody = JsonValue | Record<string, unknown> | unknown[];\n\ninterface InternalRequestOptions extends RequestOptions {\n body?: RequestBody;\n method?: 'GET' | 'POST';\n query?: Record<string, string | undefined>;\n}\n\nfunction environmentApiKey(): string | undefined {\n const processLike = globalThis as typeof globalThis & {\n process?: { env?: Record<string, string | undefined> };\n };\n return processLike.process?.env?.SEARCH1API_API_KEY;\n}\n\nfunction compact<T extends Record<string, unknown>>(value: T): Partial<T> {\n return Object.fromEntries(\n Object.entries(value).filter(([, item]) => item !== undefined)\n ) as Partial<T>;\n}\n\nfunction searchBody(query: string, options: SearchOptions) {\n return compact({\n query,\n search_service: options.searchService,\n max_results: options.maxResults,\n crawl_results: options.crawlResults,\n image: options.image,\n include_sites: options.includeSites,\n exclude_sites: options.excludeSites,\n language: options.language,\n time_range: options.timeRange,\n });\n}\n\nfunction newsBody(query: string, options: NewsOptions) {\n return compact({\n query,\n search_service: options.searchService,\n max_results: options.maxResults,\n crawl_results: options.crawlResults,\n image: options.image,\n include_sites: options.includeSites,\n exclude_sites: options.excludeSites,\n language: options.language,\n time_range: options.timeRange,\n });\n}\n\nfunction screenshotBody(url: string, options: ScreenshotOptions) {\n return compact({\n url,\n format: options.format,\n full_page: options.fullPage,\n viewport: options.viewport\n ? compact({\n width: options.viewport.width,\n height: options.viewport.height,\n device_scale_factor: options.viewport.deviceScaleFactor,\n })\n : undefined,\n wait_until: options.waitUntil,\n wait_for_selector: options.waitForSelector,\n selector: options.selector,\n delay_ms: options.delayMs,\n timeout_ms: options.timeoutMs,\n quality: options.quality,\n omit_background: options.omitBackground,\n color_scheme: options.colorScheme,\n animations: options.animations,\n });\n}\n\nfunction retryAfterMs(response: Response): number | undefined {\n const value = response.headers.get('retry-after');\n if (!value) return undefined;\n\n const seconds = Number(value);\n if (Number.isFinite(seconds)) return Math.max(0, seconds * 1_000);\n\n const date = Date.parse(value);\n if (Number.isNaN(date)) return undefined;\n return Math.max(0, date - Date.now());\n}\n\nfunction shouldRetry(status: number): boolean {\n return status === 429 || status >= 500;\n}\n\nfunction validateRequestLimits(timeoutMs: number, maxRetries: number): void {\n if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {\n throw new Search1APIConfigurationError('timeoutMs must be positive');\n }\n if (!Number.isInteger(maxRetries) || maxRetries < 0) {\n throw new Search1APIConfigurationError(\n 'maxRetries must be a non-negative integer'\n );\n }\n}\n\nfunction sleep(ms: number, signal?: AbortSignal): Promise<void> {\n if (signal?.aborted) {\n return Promise.reject(\n new APIConnectionError('Search1API request was aborted')\n );\n }\n if (ms <= 0) return Promise.resolve();\n\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(() => {\n signal?.removeEventListener('abort', onAbort);\n resolve();\n }, ms);\n const onAbort = () => {\n clearTimeout(timeout);\n reject(new APIConnectionError('Search1API request was aborted'));\n };\n signal?.addEventListener('abort', onAbort, { once: true });\n });\n}\n\nasync function errorBody(\n response: Response\n): Promise<ApiErrorBody | undefined> {\n const text = await response.text();\n if (!text) return undefined;\n try {\n return JSON.parse(text) as ApiErrorBody;\n } catch {\n return { message: text };\n }\n}\n\nexport class Search1API {\n readonly apiKey: string;\n readonly baseUrl: string;\n readonly maxRetries: number;\n readonly timeoutMs: number;\n\n private readonly defaultHeaders: Record<string, string>;\n private readonly fetchClient: typeof fetch;\n private readonly retryDelayMs: number;\n\n constructor(options: Search1APIOptions | string = {}) {\n const normalized =\n typeof options === 'string' ? { apiKey: options } : options;\n const apiKey = normalized.apiKey || environmentApiKey();\n if (!apiKey) {\n throw new Search1APIConfigurationError(\n 'Missing API key. Pass apiKey or set SEARCH1API_API_KEY.'\n );\n }\n\n const fetchClient = normalized.fetch || globalThis.fetch;\n if (!fetchClient) {\n throw new Search1APIConfigurationError(\n 'No fetch implementation is available. Search1API requires Node.js 18+ or a custom fetch.'\n );\n }\n\n this.apiKey = apiKey;\n this.baseUrl = (normalized.baseUrl || DEFAULT_BASE_URL).replace(/\\/+$/, '');\n this.fetchClient = fetchClient;\n this.timeoutMs = normalized.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n this.maxRetries = normalized.maxRetries ?? DEFAULT_MAX_RETRIES;\n this.retryDelayMs = normalized.retryDelayMs ?? DEFAULT_RETRY_DELAY_MS;\n validateRequestLimits(this.timeoutMs, this.maxRetries);\n if (!Number.isFinite(this.retryDelayMs) || this.retryDelayMs < 0) {\n throw new Search1APIConfigurationError(\n 'retryDelayMs must be non-negative'\n );\n }\n this.defaultHeaders = normalized.headers ?? {};\n }\n\n async search(\n query: string,\n options: SearchOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<SearchResponse> {\n return this.requestJson<SearchResponse>('/search', {\n ...requestOptions,\n method: 'POST',\n body: searchBody(query, options),\n });\n }\n\n async searchBatch(\n requests: SearchRequest[],\n requestOptions: RequestOptions = {}\n ): Promise<BatchResponse<SearchResponse>> {\n return this.requestJson<BatchResponse<SearchResponse>>('/search', {\n ...requestOptions,\n method: 'POST',\n body: requests.map(({ query, ...options }) => searchBody(query, options)),\n });\n }\n\n async news(\n query: string,\n options: NewsOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<NewsResponse> {\n return this.requestJson<NewsResponse>('/news', {\n ...requestOptions,\n method: 'POST',\n body: newsBody(query, options),\n });\n }\n\n async newsBatch(\n requests: NewsRequest[],\n requestOptions: RequestOptions = {}\n ): Promise<BatchResponse<NewsResponse>> {\n return this.requestJson<BatchResponse<NewsResponse>>('/news', {\n ...requestOptions,\n method: 'POST',\n body: requests.map(({ query, ...options }) => newsBody(query, options)),\n });\n }\n\n async crawl(\n url: string,\n options: CrawlOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<CrawlResponse> {\n return this.requestJson<CrawlResponse>('/crawl', {\n ...requestOptions,\n method: 'POST',\n body: compact({ url, enableFallback: options.enableFallback }),\n });\n }\n\n async crawlBatch(\n requests: CrawlRequest[],\n requestOptions: RequestOptions = {}\n ): Promise<CrawlResponse[]> {\n return this.requestJson<CrawlResponse[]>('/crawl', {\n ...requestOptions,\n method: 'POST',\n body: requests.map(({ url, enableFallback }) =>\n compact({ url, enableFallback })\n ),\n });\n }\n\n async screenshot(\n url: string,\n options: ScreenshotOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<ScreenshotResponse> {\n const response = await this.request('/screenshot', {\n ...requestOptions,\n method: 'POST',\n headers: {\n Accept: `image/${options.format || 'png'}`,\n ...requestOptions.headers,\n },\n body: screenshotBody(url, options),\n });\n return {\n data: new Uint8Array(await response.arrayBuffer()),\n contentType:\n response.headers.get('content-type') || `image/${options.format || 'png'}`,\n requestId: response.headers.get('x-request-id') || undefined,\n };\n }\n\n async sitemap(\n url: string,\n options: SitemapOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<SitemapResponse> {\n return this.requestJson<SitemapResponse>('/sitemap', {\n ...requestOptions,\n method: 'POST',\n body: compact({ url, type: options.type }),\n });\n }\n\n async trending(\n searchService: string,\n options: TrendingOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<TrendingResponse> {\n return this.requestJson<TrendingResponse>('/trending', {\n ...requestOptions,\n method: 'POST',\n body: compact({\n search_service: searchService,\n max_results: options.maxResults,\n }),\n });\n }\n\n async extract<T = JsonValue>(\n url: string,\n options: ExtractOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<ExtractResponse<T>> {\n return this.requestJson<ExtractResponse<T>>('/extract', {\n ...requestOptions,\n method: 'POST',\n body: compact({\n url,\n prompt: options.prompt,\n response_format: options.responseFormat,\n }),\n });\n }\n\n async startDeepcrawl(\n url: string,\n options: DeepcrawlOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<DeepcrawlAcceptedResponse> {\n return this.requestJson<DeepcrawlAcceptedResponse>('/deepcrawl', {\n ...requestOptions,\n // Starting a task is not idempotent. A lost response could otherwise\n // enqueue and charge a duplicate crawl.\n maxRetries: requestOptions.maxRetries ?? 0,\n method: 'POST',\n body: compact({ url, type: options.type }),\n });\n }\n\n async getDeepcrawlStatus(\n taskId: string,\n requestOptions: RequestOptions = {}\n ): Promise<DeepcrawlStatusResponse> {\n return this.requestJson<DeepcrawlStatusResponse>(\n `/deepcrawl/status/${encodeURIComponent(taskId)}`,\n requestOptions\n );\n }\n\n async waitForDeepcrawl(\n taskId: string,\n options: WaitForDeepcrawlOptions = {}\n ): Promise<DeepcrawlStatusResponse> {\n const pollIntervalMs =\n options.pollIntervalMs ?? DEFAULT_DEEPCRAWL_POLL_INTERVAL_MS;\n const timeoutMs = options.timeoutMs ?? DEFAULT_DEEPCRAWL_TIMEOUT_MS;\n const deadline = Date.now() + timeoutMs;\n\n while (true) {\n const response = await this.getDeepcrawlStatus(taskId, {\n signal: options.signal,\n });\n if (response.success === true || response.status === 'completed') {\n return response;\n }\n if (\n response.success === false ||\n response.status === 'failed' ||\n response.status === 'not_found'\n ) {\n throw new DeepcrawlFailedError(response);\n }\n if (Date.now() + pollIntervalMs > deadline) {\n throw new DeepcrawlTimeoutError(taskId, timeoutMs);\n }\n await sleep(pollIntervalMs, options.signal);\n }\n }\n\n async deepcrawl(\n url: string,\n options: DeepcrawlOptions = {},\n waitOptions: WaitForDeepcrawlOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<DeepcrawlStatusResponse> {\n const task = await this.startDeepcrawl(url, options, requestOptions);\n return this.waitForDeepcrawl(task.taskId, waitOptions);\n }\n\n async usage(\n period?: TimeRange,\n requestOptions: RequestOptions = {}\n ): Promise<UsageResponse> {\n return this.requestJson<UsageResponse>('/usage', {\n ...requestOptions,\n query: { period },\n });\n }\n\n async health(requestOptions: RequestOptions = {}): Promise<HealthResponse> {\n return this.requestJson<HealthResponse>('/health', requestOptions);\n }\n\n private async requestJson<T>(\n path: string,\n options: InternalRequestOptions = {}\n ): Promise<T> {\n const response = await this.request(path, options);\n const text = await response.text();\n try {\n return JSON.parse(text) as T;\n } catch (error) {\n throw new Search1APIError(\n `Search1API returned invalid JSON for ${path}`,\n { cause: error }\n );\n }\n }\n\n private async request(\n path: string,\n options: InternalRequestOptions = {}\n ): Promise<Response> {\n const maxRetries = options.maxRetries ?? this.maxRetries;\n validateRequestLimits(options.timeoutMs ?? this.timeoutMs, maxRetries);\n const url = new URL(`${this.baseUrl}${path}`);\n for (const [name, value] of Object.entries(options.query || {})) {\n if (value !== undefined) url.searchParams.set(name, value);\n }\n\n for (let attempt = 0; attempt <= maxRetries; attempt += 1) {\n let response: Response;\n try {\n response = await this.fetchOnce(url, options);\n } catch (error) {\n if (\n attempt < maxRetries &&\n !options.signal?.aborted &&\n (error instanceof APIConnectionError ||\n error instanceof APITimeoutError)\n ) {\n await sleep(this.retryDelay(attempt), options.signal);\n continue;\n }\n throw error;\n }\n\n if (response.ok) return response;\n if (attempt < maxRetries && shouldRetry(response.status)) {\n await sleep(\n retryAfterMs(response) ?? this.retryDelay(attempt),\n options.signal\n );\n continue;\n }\n\n throw apiStatusError(\n response.status,\n response.headers,\n await errorBody(response)\n );\n }\n\n throw new Search1APIError('Search1API request exhausted its retry budget');\n }\n\n private async fetchOnce(\n url: URL,\n options: InternalRequestOptions\n ): Promise<Response> {\n const controller = new AbortController();\n let timedOut = false;\n const timeout = setTimeout(() => {\n timedOut = true;\n controller.abort();\n }, options.timeoutMs ?? this.timeoutMs);\n const onAbort = () => controller.abort(options.signal?.reason);\n options.signal?.addEventListener('abort', onAbort, { once: true });\n\n const headers = new Headers({\n Accept: 'application/json',\n Authorization: `Bearer ${this.apiKey}`,\n 'X-Search1API-Client': 'typescript/0.2.0',\n ...this.defaultHeaders,\n ...options.headers,\n });\n if (options.body !== undefined)\n headers.set('Content-Type', 'application/json');\n\n try {\n return await this.fetchClient(url, {\n method: options.method || 'GET',\n headers,\n body:\n options.body === undefined ? undefined : JSON.stringify(options.body),\n signal: controller.signal,\n });\n } catch (error) {\n if (timedOut) {\n throw new APITimeoutError(\n `Search1API request timed out after ${options.timeoutMs ?? this.timeoutMs}ms`,\n { cause: error }\n );\n }\n if (options.signal?.aborted) {\n throw new APIConnectionError('Search1API request was aborted', {\n cause: error,\n });\n }\n throw new APIConnectionError('Unable to connect to Search1API', {\n cause: error,\n });\n } finally {\n clearTimeout(timeout);\n options.signal?.removeEventListener('abort', onAbort);\n }\n }\n\n private retryDelay(attempt: number): number {\n const base = this.retryDelayMs * 2 ** attempt;\n return base + Math.floor(Math.random() * base * 0.25);\n }\n}\n"],
4
+ "sourcesContent": ["import type { ApiErrorBody, DeepcrawlStatusResponse } from './types.js';\n\nexport class Search1APIError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(message, options);\n this.name = new.target.name;\n }\n}\n\nexport class Search1APIConfigurationError extends Search1APIError {}\n\nexport class APIConnectionError extends Search1APIError {}\n\nexport class APITimeoutError extends APIConnectionError {}\n\nexport class APIStatusError extends Search1APIError {\n readonly body?: ApiErrorBody;\n readonly headers: Headers;\n readonly requestId?: string;\n readonly status: number;\n\n constructor(\n message: string,\n status: number,\n headers: Headers,\n body?: ApiErrorBody\n ) {\n super(message);\n this.status = status;\n this.headers = headers;\n this.body = body;\n this.requestId = headers.get('x-request-id') ?? undefined;\n }\n}\n\nexport class BadRequestError extends APIStatusError {}\nexport class AuthenticationError extends APIStatusError {}\nexport class PaymentRequiredError extends APIStatusError {}\nexport class NotFoundError extends APIStatusError {}\nexport class UnprocessableEntityError extends APIStatusError {}\nexport class RateLimitError extends APIStatusError {}\nexport class InternalServerError extends APIStatusError {}\n\nexport class DeepcrawlFailedError extends Search1APIError {\n readonly response: DeepcrawlStatusResponse;\n\n constructor(response: DeepcrawlStatusResponse) {\n super(\n response.error ||\n response.message ||\n `Deepcrawl task ${response.taskId} failed`\n );\n this.response = response;\n }\n}\n\nexport class DeepcrawlTimeoutError extends Search1APIError {\n readonly taskId: string;\n\n constructor(taskId: string, timeoutMs: number) {\n super(`Deepcrawl task ${taskId} did not finish within ${timeoutMs}ms`);\n this.taskId = taskId;\n }\n}\n\nexport function apiStatusError(\n status: number,\n headers: Headers,\n body?: ApiErrorBody\n): APIStatusError {\n const message =\n body?.message ||\n body?.detail ||\n body?.error ||\n body?.title ||\n `Search1API request failed with status ${status}`;\n const ErrorClass =\n status === 400\n ? BadRequestError\n : status === 401\n ? AuthenticationError\n : status === 402\n ? PaymentRequiredError\n : status === 404\n ? NotFoundError\n : status === 422\n ? UnprocessableEntityError\n : status === 429\n ? RateLimitError\n : status >= 500\n ? InternalServerError\n : APIStatusError;\n\n return new ErrorClass(message, status, headers, body);\n}\n", "import {\n APIConnectionError,\n APITimeoutError,\n DeepcrawlFailedError,\n DeepcrawlTimeoutError,\n Search1APIConfigurationError,\n Search1APIError,\n apiStatusError,\n} from './errors.js';\nimport type {\n ApiErrorBody,\n BatchResponse,\n CrawlOptions,\n CrawlRequest,\n CrawlResponse,\n DeepcrawlAcceptedResponse,\n DeepcrawlOptions,\n DeepcrawlStatusResponse,\n ExtractOptions,\n ExtractResponse,\n HealthResponse,\n JsonValue,\n NewsOptions,\n NewsRequest,\n NewsResponse,\n RequestOptions,\n Search1APIOptions,\n SearchOptions,\n SearchRequest,\n SearchResponse,\n ScreenshotOptions,\n ScreenshotResponse,\n SitemapOptions,\n SitemapResponse,\n TimeRange,\n TrendingOptions,\n TrendingResponse,\n UsageResponse,\n WaitForDeepcrawlOptions,\n} from './types.js';\n\nconst DEFAULT_BASE_URL = 'https://api.search1api.com';\nconst DEFAULT_TIMEOUT_MS = 30_000;\nconst DEFAULT_MAX_RETRIES = 2;\nconst DEFAULT_RETRY_DELAY_MS = 500;\nconst DEFAULT_DEEPCRAWL_POLL_INTERVAL_MS = 2_000;\nconst DEFAULT_DEEPCRAWL_TIMEOUT_MS = 300_000;\n\ntype RequestBody = JsonValue | Record<string, unknown> | unknown[];\n\ninterface InternalRequestOptions extends RequestOptions {\n body?: RequestBody;\n method?: 'GET' | 'POST';\n query?: Record<string, string | undefined>;\n}\n\nfunction environmentApiKey(): string | undefined {\n const processLike = globalThis as typeof globalThis & {\n process?: { env?: Record<string, string | undefined> };\n };\n return processLike.process?.env?.SEARCH1API_API_KEY;\n}\n\nfunction compact<T extends Record<string, unknown>>(value: T): Partial<T> {\n return Object.fromEntries(\n Object.entries(value).filter(([, item]) => item !== undefined)\n ) as Partial<T>;\n}\n\nfunction searchBody(query: string, options: SearchOptions) {\n return compact({\n query,\n search_service: options.searchService,\n max_results: options.maxResults,\n crawl_results: options.crawlResults,\n image: options.image,\n include_sites: options.includeSites,\n exclude_sites: options.excludeSites,\n language: options.language,\n time_range: options.timeRange,\n });\n}\n\nfunction newsBody(query: string, options: NewsOptions) {\n return compact({\n query,\n search_service: options.searchService,\n max_results: options.maxResults,\n crawl_results: options.crawlResults,\n image: options.image,\n include_sites: options.includeSites,\n exclude_sites: options.excludeSites,\n language: options.language,\n time_range: options.timeRange,\n });\n}\n\nfunction screenshotBody(url: string, options: ScreenshotOptions) {\n return compact({\n url,\n format: options.format,\n full_page: options.fullPage,\n viewport: options.viewport\n ? compact({\n width: options.viewport.width,\n height: options.viewport.height,\n device_scale_factor: options.viewport.deviceScaleFactor,\n })\n : undefined,\n wait_until: options.waitUntil,\n wait_for_selector: options.waitForSelector,\n selector: options.selector,\n delay_ms: options.delayMs,\n timeout_ms: options.timeoutMs,\n quality: options.quality,\n omit_background: options.omitBackground,\n color_scheme: options.colorScheme,\n animations: options.animations,\n });\n}\n\nfunction retryAfterMs(response: Response): number | undefined {\n const value = response.headers.get('retry-after');\n if (!value) return undefined;\n\n const seconds = Number(value);\n if (Number.isFinite(seconds)) return Math.max(0, seconds * 1_000);\n\n const date = Date.parse(value);\n if (Number.isNaN(date)) return undefined;\n return Math.max(0, date - Date.now());\n}\n\nfunction shouldRetry(status: number): boolean {\n return status === 429 || status >= 500;\n}\n\nfunction validateRequestLimits(timeoutMs: number, maxRetries: number): void {\n if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {\n throw new Search1APIConfigurationError('timeoutMs must be positive');\n }\n if (!Number.isInteger(maxRetries) || maxRetries < 0) {\n throw new Search1APIConfigurationError(\n 'maxRetries must be a non-negative integer'\n );\n }\n}\n\nfunction sleep(ms: number, signal?: AbortSignal): Promise<void> {\n if (signal?.aborted) {\n return Promise.reject(\n new APIConnectionError('Search1API request was aborted')\n );\n }\n if (ms <= 0) return Promise.resolve();\n\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(() => {\n signal?.removeEventListener('abort', onAbort);\n resolve();\n }, ms);\n const onAbort = () => {\n clearTimeout(timeout);\n reject(new APIConnectionError('Search1API request was aborted'));\n };\n signal?.addEventListener('abort', onAbort, { once: true });\n });\n}\n\nasync function errorBody(\n response: Response\n): Promise<ApiErrorBody | undefined> {\n const text = await response.text();\n if (!text) return undefined;\n try {\n return JSON.parse(text) as ApiErrorBody;\n } catch {\n return { message: text };\n }\n}\n\nexport class Search1API {\n readonly apiKey: string;\n readonly baseUrl: string;\n readonly maxRetries: number;\n readonly timeoutMs: number;\n\n private readonly defaultHeaders: Record<string, string>;\n private readonly fetchClient: typeof fetch;\n private readonly retryDelayMs: number;\n\n constructor(options: Search1APIOptions | string = {}) {\n const normalized =\n typeof options === 'string' ? { apiKey: options } : options;\n const apiKey = normalized.apiKey || environmentApiKey();\n if (!apiKey) {\n throw new Search1APIConfigurationError(\n 'Missing API key. Pass apiKey or set SEARCH1API_API_KEY.'\n );\n }\n\n const fetchClient = normalized.fetch || globalThis.fetch;\n if (!fetchClient) {\n throw new Search1APIConfigurationError(\n 'No fetch implementation is available. Search1API requires Node.js 18+ or a custom fetch.'\n );\n }\n\n this.apiKey = apiKey;\n this.baseUrl = (normalized.baseUrl || DEFAULT_BASE_URL).replace(/\\/+$/, '');\n this.fetchClient = fetchClient;\n this.timeoutMs = normalized.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n this.maxRetries = normalized.maxRetries ?? DEFAULT_MAX_RETRIES;\n this.retryDelayMs = normalized.retryDelayMs ?? DEFAULT_RETRY_DELAY_MS;\n validateRequestLimits(this.timeoutMs, this.maxRetries);\n if (!Number.isFinite(this.retryDelayMs) || this.retryDelayMs < 0) {\n throw new Search1APIConfigurationError(\n 'retryDelayMs must be non-negative'\n );\n }\n this.defaultHeaders = normalized.headers ?? {};\n }\n\n async search(\n query: string,\n options: SearchOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<SearchResponse> {\n return this.requestJson<SearchResponse>('/search', {\n ...requestOptions,\n method: 'POST',\n body: searchBody(query, options),\n });\n }\n\n async searchBatch(\n requests: SearchRequest[],\n requestOptions: RequestOptions = {}\n ): Promise<BatchResponse<SearchResponse>> {\n return this.requestJson<BatchResponse<SearchResponse>>('/search', {\n ...requestOptions,\n method: 'POST',\n body: requests.map(({ query, ...options }) => searchBody(query, options)),\n });\n }\n\n async news(\n query: string,\n options: NewsOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<NewsResponse> {\n return this.requestJson<NewsResponse>('/news', {\n ...requestOptions,\n method: 'POST',\n body: newsBody(query, options),\n });\n }\n\n async newsBatch(\n requests: NewsRequest[],\n requestOptions: RequestOptions = {}\n ): Promise<BatchResponse<NewsResponse>> {\n return this.requestJson<BatchResponse<NewsResponse>>('/news', {\n ...requestOptions,\n method: 'POST',\n body: requests.map(({ query, ...options }) => newsBody(query, options)),\n });\n }\n\n async crawl(\n url: string,\n options: CrawlOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<CrawlResponse> {\n return this.requestJson<CrawlResponse>('/crawl', {\n ...requestOptions,\n method: 'POST',\n body: compact({ url, enableFallback: options.enableFallback }),\n });\n }\n\n async crawlBatch(\n requests: CrawlRequest[],\n requestOptions: RequestOptions = {}\n ): Promise<CrawlResponse[]> {\n return this.requestJson<CrawlResponse[]>('/crawl', {\n ...requestOptions,\n method: 'POST',\n body: requests.map(({ url, enableFallback }) =>\n compact({ url, enableFallback })\n ),\n });\n }\n\n async screenshot(\n url: string,\n options: ScreenshotOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<ScreenshotResponse> {\n const response = await this.request('/screenshot', {\n ...requestOptions,\n method: 'POST',\n headers: {\n Accept: `image/${options.format || 'png'}`,\n ...requestOptions.headers,\n },\n body: screenshotBody(url, options),\n });\n return {\n data: new Uint8Array(await response.arrayBuffer()),\n contentType:\n response.headers.get('content-type') || `image/${options.format || 'png'}`,\n requestId: response.headers.get('x-request-id') || undefined,\n };\n }\n\n async sitemap(\n url: string,\n options: SitemapOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<SitemapResponse> {\n return this.requestJson<SitemapResponse>('/sitemap', {\n ...requestOptions,\n method: 'POST',\n body: compact({ url, type: options.type }),\n });\n }\n\n async trending(\n searchService: string,\n options: TrendingOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<TrendingResponse> {\n return this.requestJson<TrendingResponse>('/trending', {\n ...requestOptions,\n method: 'POST',\n body: compact({\n search_service: searchService,\n max_results: options.maxResults,\n }),\n });\n }\n\n async extract<T = JsonValue>(\n url: string,\n options: ExtractOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<ExtractResponse<T>> {\n return this.requestJson<ExtractResponse<T>>('/extract', {\n ...requestOptions,\n method: 'POST',\n body: compact({\n url,\n prompt: options.prompt,\n response_format: options.responseFormat,\n }),\n });\n }\n\n async startDeepcrawl(\n url: string,\n options: DeepcrawlOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<DeepcrawlAcceptedResponse> {\n return this.requestJson<DeepcrawlAcceptedResponse>('/deepcrawl', {\n ...requestOptions,\n // Starting a task is not idempotent. A lost response could otherwise\n // enqueue and charge a duplicate crawl.\n maxRetries: requestOptions.maxRetries ?? 0,\n method: 'POST',\n body: compact({ url, type: options.type }),\n });\n }\n\n async getDeepcrawlStatus(\n taskId: string,\n requestOptions: RequestOptions = {}\n ): Promise<DeepcrawlStatusResponse> {\n return this.requestJson<DeepcrawlStatusResponse>(\n `/deepcrawl/status/${encodeURIComponent(taskId)}`,\n requestOptions\n );\n }\n\n async waitForDeepcrawl(\n taskId: string,\n options: WaitForDeepcrawlOptions = {}\n ): Promise<DeepcrawlStatusResponse> {\n const pollIntervalMs =\n options.pollIntervalMs ?? DEFAULT_DEEPCRAWL_POLL_INTERVAL_MS;\n const timeoutMs = options.timeoutMs ?? DEFAULT_DEEPCRAWL_TIMEOUT_MS;\n const deadline = Date.now() + timeoutMs;\n\n while (true) {\n const response = await this.getDeepcrawlStatus(taskId, {\n signal: options.signal,\n });\n if (response.success === true || response.status === 'completed') {\n return response;\n }\n if (\n response.success === false ||\n response.status === 'failed' ||\n response.status === 'not_found'\n ) {\n throw new DeepcrawlFailedError(response);\n }\n if (Date.now() + pollIntervalMs > deadline) {\n throw new DeepcrawlTimeoutError(taskId, timeoutMs);\n }\n await sleep(pollIntervalMs, options.signal);\n }\n }\n\n async deepcrawl(\n url: string,\n options: DeepcrawlOptions = {},\n waitOptions: WaitForDeepcrawlOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<DeepcrawlStatusResponse> {\n const task = await this.startDeepcrawl(url, options, requestOptions);\n return this.waitForDeepcrawl(task.taskId, waitOptions);\n }\n\n async usage(\n period?: TimeRange,\n requestOptions: RequestOptions = {}\n ): Promise<UsageResponse> {\n return this.requestJson<UsageResponse>('/usage', {\n ...requestOptions,\n query: { period },\n });\n }\n\n async health(requestOptions: RequestOptions = {}): Promise<HealthResponse> {\n return this.requestJson<HealthResponse>('/health', requestOptions);\n }\n\n private async requestJson<T>(\n path: string,\n options: InternalRequestOptions = {}\n ): Promise<T> {\n const response = await this.request(path, options);\n const text = await response.text();\n try {\n return JSON.parse(text) as T;\n } catch (error) {\n throw new Search1APIError(\n `Search1API returned invalid JSON for ${path}`,\n { cause: error }\n );\n }\n }\n\n private async request(\n path: string,\n options: InternalRequestOptions = {}\n ): Promise<Response> {\n const maxRetries = options.maxRetries ?? this.maxRetries;\n validateRequestLimits(options.timeoutMs ?? this.timeoutMs, maxRetries);\n const url = new URL(`${this.baseUrl}${path}`);\n for (const [name, value] of Object.entries(options.query || {})) {\n if (value !== undefined) url.searchParams.set(name, value);\n }\n\n for (let attempt = 0; attempt <= maxRetries; attempt += 1) {\n let response: Response;\n try {\n response = await this.fetchOnce(url, options);\n } catch (error) {\n if (\n attempt < maxRetries &&\n !options.signal?.aborted &&\n (error instanceof APIConnectionError ||\n error instanceof APITimeoutError)\n ) {\n await sleep(this.retryDelay(attempt), options.signal);\n continue;\n }\n throw error;\n }\n\n if (response.ok) return response;\n if (attempt < maxRetries && shouldRetry(response.status)) {\n await sleep(\n retryAfterMs(response) ?? this.retryDelay(attempt),\n options.signal\n );\n continue;\n }\n\n throw apiStatusError(\n response.status,\n response.headers,\n await errorBody(response)\n );\n }\n\n throw new Search1APIError('Search1API request exhausted its retry budget');\n }\n\n private async fetchOnce(\n url: URL,\n options: InternalRequestOptions\n ): Promise<Response> {\n const controller = new AbortController();\n let timedOut = false;\n const timeout = setTimeout(() => {\n timedOut = true;\n controller.abort();\n }, options.timeoutMs ?? this.timeoutMs);\n const onAbort = () => controller.abort(options.signal?.reason);\n options.signal?.addEventListener('abort', onAbort, { once: true });\n\n const headers = new Headers({\n Accept: 'application/json',\n Authorization: `Bearer ${this.apiKey}`,\n 'X-Search1API-Client': 'typescript/0.2.1',\n ...this.defaultHeaders,\n ...options.headers,\n });\n if (options.body !== undefined)\n headers.set('Content-Type', 'application/json');\n\n try {\n return await this.fetchClient(url, {\n method: options.method || 'GET',\n headers,\n body:\n options.body === undefined ? undefined : JSON.stringify(options.body),\n signal: controller.signal,\n });\n } catch (error) {\n if (timedOut) {\n throw new APITimeoutError(\n `Search1API request timed out after ${options.timeoutMs ?? this.timeoutMs}ms`,\n { cause: error }\n );\n }\n if (options.signal?.aborted) {\n throw new APIConnectionError('Search1API request was aborted', {\n cause: error,\n });\n }\n throw new APIConnectionError('Unable to connect to Search1API', {\n cause: error,\n });\n } finally {\n clearTimeout(timeout);\n options.signal?.removeEventListener('abort', onAbort);\n }\n }\n\n private retryDelay(attempt: number): number {\n const base = this.retryDelayMs * 2 ** attempt;\n return base + Math.floor(Math.random() * base * 0.25);\n }\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@search1api/client",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Official TypeScript client for Search1API",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -26,7 +26,7 @@
26
26
  "publishConfig": {
27
27
  "access": "public"
28
28
  },
29
- "homepage": "https://www.search1api.com/docs/integrations/sdks",
29
+ "homepage": "https://s1.dev",
30
30
  "bugs": {
31
31
  "url": "https://github.com/superagents-lab/search1api-js/issues"
32
32
  },