@search1api/client 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -0
- package/dist/client.d.ts +7 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/generated.d.ts +360 -5
- package/dist/generated.d.ts.map +1 -1
- package/dist/index.cjs +33 -1
- package/dist/index.cjs.map +2 -2
- package/dist/index.js +33 -1
- package/dist/index.js.map +2 -2
- package/dist/types.d.ts +99 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
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 AskResponse,\n BatchResponse,\n CrawlOptions,\n CrawlRequest,\n CrawlResponse,\n DeepcrawlAcceptedResponse,\n DeepcrawlOptions,\n DeepcrawlStatusResponse,\n ExtractOptions,\n ExtractResponse,\n FeedbackOptions,\n FeedbackResponse,\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;\n// The gateway gives Ask up to 35 seconds, so the default 30 seconds would abort\n// requests the API would still answer.\nconst DEFAULT_ASK_TIMEOUT_MS = 45_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 page: options.page,\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 /**\n * Agentic search: a decision model picks the engines and time window from a\n * natural-language query and returns only relevant results. 5 credits per\n * completed request; requires an API key or OAuth token.\n */\n async ask(\n query: string,\n requestOptions: RequestOptions = {}\n ): Promise<AskResponse> {\n return this.requestJson<AskResponse>('/ask', {\n ...requestOptions,\n timeoutMs: requestOptions.timeoutMs ?? DEFAULT_ASK_TIMEOUT_MS,\n method: 'POST',\n body: { query },\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 /**\n * Report a Search1API problem, missing capability, or confusing docs. Free.\n * Never include credentials or personal data in the report.\n */\n async feedback(\n message: string,\n options: FeedbackOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<FeedbackResponse> {\n return this.requestJson<FeedbackResponse>('/feedback', {\n ...requestOptions,\n // Feedback has no idempotency key; a retry after a lost response would\n // file a duplicate report.\n maxRetries: requestOptions.maxRetries ?? 0,\n method: 'POST',\n body: compact({\n message,\n intent: options.intent,\n category: options.category,\n request_id: options.requestId,\n agent: options.agent\n ? compact({ name: options.agent.name, model: options.agent.model })\n : undefined,\n }),\n });\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.3.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"],
|
|
5
|
-
"mappings": "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",
|
|
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 AskResponse,\n BatchResponse,\n CrawlOptions,\n CrawlRequest,\n CrawlResponse,\n DeepcrawlAcceptedResponse,\n DeepcrawlOptions,\n DeepcrawlStatusResponse,\n ExtractOptions,\n ExtractResponse,\n FeedbackOptions,\n FeedbackResponse,\n HealthResponse,\n JsonValue,\n MapsOptions,\n MapsResponse,\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;\n// The gateway gives Ask up to 35 seconds, so the default 30 seconds would abort\n// requests the API would still answer.\nconst DEFAULT_ASK_TIMEOUT_MS = 45_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 page: options.page,\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 mapsBody(query: string, options: MapsOptions) {\n return compact({\n query,\n country: options.country,\n language: options.language,\n location: options.location ? compact({ ...options.location }) : undefined,\n page: options.page,\n max_results: options.maxResults,\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 deepcrawlBody(url: string, options: DeepcrawlOptions) {\n return compact({\n url,\n type: options.type,\n max_pages: options.maxPages,\n include_paths: options.includePaths,\n exclude_paths: options.excludePaths,\n format: options.format,\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 /**\n * Agentic search: a decision model picks the engines and time window from a\n * natural-language query and returns only relevant results. 5 credits per\n * completed request; requires an API key or OAuth token.\n */\n async ask(\n query: string,\n requestOptions: RequestOptions = {}\n ): Promise<AskResponse> {\n return this.requestJson<AskResponse>('/ask', {\n ...requestOptions,\n timeoutMs: requestOptions.timeoutMs ?? DEFAULT_ASK_TIMEOUT_MS,\n method: 'POST',\n body: { query },\n });\n }\n\n /**\n * Google Maps place search: one page of up to 20 businesses and places with\n * addresses, ratings, coordinates and opening hours when available. 3\n * credits per completed page; requires an API key or OAuth token.\n */\n async maps(\n query: string,\n options: MapsOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<MapsResponse> {\n return this.requestJson<MapsResponse>('/maps', {\n ...requestOptions,\n method: 'POST',\n body: mapsBody(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: deepcrawlBody(url, options),\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 /**\n * Report a Search1API problem, missing capability, or confusing docs. Free.\n * Never include credentials or personal data in the report.\n */\n async feedback(\n message: string,\n options: FeedbackOptions = {},\n requestOptions: RequestOptions = {}\n ): Promise<FeedbackResponse> {\n return this.requestJson<FeedbackResponse>('/feedback', {\n ...requestOptions,\n // Feedback has no idempotency key; a retry after a lost response would\n // file a duplicate report.\n maxRetries: requestOptions.maxRetries ?? 0,\n method: 'POST',\n body: compact({\n message,\n intent: options.intent,\n category: options.category,\n request_id: options.requestId,\n agent: options.agent\n ? compact({ name: options.agent.name, model: options.agent.model })\n : undefined,\n }),\n });\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.3.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"],
|
|
5
|
+
"mappings": ";AAEO,IAAM,kBAAN,cAA8B,MAAM;AAAA,EACzC,YAAY,SAAiB,SAAwB;AACnD,UAAM,SAAS,OAAO;AACtB,SAAK,OAAO,WAAW;AAAA,EACzB;AACF;AAEO,IAAM,+BAAN,cAA2C,gBAAgB;AAAC;AAE5D,IAAM,qBAAN,cAAiC,gBAAgB;AAAC;AAElD,IAAM,kBAAN,cAA8B,mBAAmB;AAAC;AAElD,IAAM,iBAAN,cAA6B,gBAAgB;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YACE,SACA,QACA,SACA,MACA;AACA,UAAM,OAAO;AACb,SAAK,SAAS;AACd,SAAK,UAAU;AACf,SAAK,OAAO;AACZ,SAAK,YAAY,QAAQ,IAAI,cAAc,KAAK;AAAA,EAClD;AACF;AAEO,IAAM,kBAAN,cAA8B,eAAe;AAAC;AAC9C,IAAM,sBAAN,cAAkC,eAAe;AAAC;AAClD,IAAM,uBAAN,cAAmC,eAAe;AAAC;AACnD,IAAM,gBAAN,cAA4B,eAAe;AAAC;AAC5C,IAAM,2BAAN,cAAuC,eAAe;AAAC;AACvD,IAAM,iBAAN,cAA6B,eAAe;AAAC;AAC7C,IAAM,sBAAN,cAAkC,eAAe;AAAC;AAElD,IAAM,uBAAN,cAAmC,gBAAgB;AAAA,EAC/C;AAAA,EAET,YAAY,UAAmC;AAC7C;AAAA,MACE,SAAS,SACP,SAAS,WACT,kBAAkB,SAAS,MAAM;AAAA,IACrC;AACA,SAAK,WAAW;AAAA,EAClB;AACF;AAEO,IAAM,wBAAN,cAAoC,gBAAgB;AAAA,EAChD;AAAA,EAET,YAAY,QAAgB,WAAmB;AAC7C,UAAM,kBAAkB,MAAM,0BAA0B,SAAS,IAAI;AACrE,SAAK,SAAS;AAAA,EAChB;AACF;AAEO,SAAS,eACd,QACA,SACA,MACgB;AAChB,QAAM,UACJ,MAAM,WACN,MAAM,UACN,MAAM,SACN,MAAM,SACN,yCAAyC,MAAM;AACjD,QAAM,aACJ,WAAW,MACP,kBACA,WAAW,MACT,sBACA,WAAW,MACT,uBACA,WAAW,MACT,gBACA,WAAW,MACT,2BACA,WAAW,MACT,iBACA,UAAU,MACR,sBACA;AAElB,SAAO,IAAI,WAAW,SAAS,QAAQ,SAAS,IAAI;AACtD;;;AChDA,IAAM,mBAAmB;AACzB,IAAM,qBAAqB;AAG3B,IAAM,yBAAyB;AAC/B,IAAM,sBAAsB;AAC5B,IAAM,yBAAyB;AAC/B,IAAM,qCAAqC;AAC3C,IAAM,+BAA+B;AAUrC,SAAS,oBAAwC;AAC/C,QAAM,cAAc;AAGpB,SAAO,YAAY,SAAS,KAAK;AACnC;AAEA,SAAS,QAA2C,OAAsB;AACxE,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,MAAM,SAAS,MAAS;AAAA,EAC/D;AACF;AAEA,SAAS,WAAW,OAAe,SAAwB;AACzD,SAAO,QAAQ;AAAA,IACb;AAAA,IACA,gBAAgB,QAAQ;AAAA,IACxB,aAAa,QAAQ;AAAA,IACrB,MAAM,QAAQ;AAAA,IACd,eAAe,QAAQ;AAAA,IACvB,OAAO,QAAQ;AAAA,IACf,eAAe,QAAQ;AAAA,IACvB,eAAe,QAAQ;AAAA,IACvB,UAAU,QAAQ;AAAA,IAClB,YAAY,QAAQ;AAAA,EACtB,CAAC;AACH;AAEA,SAAS,SAAS,OAAe,SAAsB;AACrD,SAAO,QAAQ;AAAA,IACb;AAAA,IACA,SAAS,QAAQ;AAAA,IACjB,UAAU,QAAQ;AAAA,IAClB,UAAU,QAAQ,WAAW,QAAQ,EAAE,GAAG,QAAQ,SAAS,CAAC,IAAI;AAAA,IAChE,MAAM,QAAQ;AAAA,IACd,aAAa,QAAQ;AAAA,EACvB,CAAC;AACH;AAEA,SAAS,SAAS,OAAe,SAAsB;AACrD,SAAO,QAAQ;AAAA,IACb;AAAA,IACA,gBAAgB,QAAQ;AAAA,IACxB,aAAa,QAAQ;AAAA,IACrB,eAAe,QAAQ;AAAA,IACvB,OAAO,QAAQ;AAAA,IACf,eAAe,QAAQ;AAAA,IACvB,eAAe,QAAQ;AAAA,IACvB,UAAU,QAAQ;AAAA,IAClB,YAAY,QAAQ;AAAA,EACtB,CAAC;AACH;AAEA,SAAS,cAAc,KAAa,SAA2B;AAC7D,SAAO,QAAQ;AAAA,IACb;AAAA,IACA,MAAM,QAAQ;AAAA,IACd,WAAW,QAAQ;AAAA,IACnB,eAAe,QAAQ;AAAA,IACvB,eAAe,QAAQ;AAAA,IACvB,QAAQ,QAAQ;AAAA,EAClB,CAAC;AACH;AAEA,SAAS,eAAe,KAAa,SAA4B;AAC/D,SAAO,QAAQ;AAAA,IACb;AAAA,IACA,QAAQ,QAAQ;AAAA,IAChB,WAAW,QAAQ;AAAA,IACnB,UAAU,QAAQ,WACd,QAAQ;AAAA,MACN,OAAO,QAAQ,SAAS;AAAA,MACxB,QAAQ,QAAQ,SAAS;AAAA,MACzB,qBAAqB,QAAQ,SAAS;AAAA,IACxC,CAAC,IACD;AAAA,IACJ,YAAY,QAAQ;AAAA,IACpB,mBAAmB,QAAQ;AAAA,IAC3B,UAAU,QAAQ;AAAA,IAClB,UAAU,QAAQ;AAAA,IAClB,YAAY,QAAQ;AAAA,IACpB,SAAS,QAAQ;AAAA,IACjB,iBAAiB,QAAQ;AAAA,IACzB,cAAc,QAAQ;AAAA,IACtB,YAAY,QAAQ;AAAA,EACtB,CAAC;AACH;AAEA,SAAS,aAAa,UAAwC;AAC5D,QAAM,QAAQ,SAAS,QAAQ,IAAI,aAAa;AAChD,MAAI,CAAC,MAAO,QAAO;AAEnB,QAAM,UAAU,OAAO,KAAK;AAC5B,MAAI,OAAO,SAAS,OAAO,EAAG,QAAO,KAAK,IAAI,GAAG,UAAU,GAAK;AAEhE,QAAM,OAAO,KAAK,MAAM,KAAK;AAC7B,MAAI,OAAO,MAAM,IAAI,EAAG,QAAO;AAC/B,SAAO,KAAK,IAAI,GAAG,OAAO,KAAK,IAAI,CAAC;AACtC;AAEA,SAAS,YAAY,QAAyB;AAC5C,SAAO,WAAW,OAAO,UAAU;AACrC;AAEA,SAAS,sBAAsB,WAAmB,YAA0B;AAC1E,MAAI,CAAC,OAAO,SAAS,SAAS,KAAK,aAAa,GAAG;AACjD,UAAM,IAAI,6BAA6B,4BAA4B;AAAA,EACrE;AACA,MAAI,CAAC,OAAO,UAAU,UAAU,KAAK,aAAa,GAAG;AACnD,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,MAAM,IAAY,QAAqC;AAC9D,MAAI,QAAQ,SAAS;AACnB,WAAO,QAAQ;AAAA,MACb,IAAI,mBAAmB,gCAAgC;AAAA,IACzD;AAAA,EACF;AACA,MAAI,MAAM,EAAG,QAAO,QAAQ,QAAQ;AAEpC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM,UAAU,WAAW,MAAM;AAC/B,cAAQ,oBAAoB,SAAS,OAAO;AAC5C,cAAQ;AAAA,IACV,GAAG,EAAE;AACL,UAAM,UAAU,MAAM;AACpB,mBAAa,OAAO;AACpB,aAAO,IAAI,mBAAmB,gCAAgC,CAAC;AAAA,IACjE;AACA,YAAQ,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;AAAA,EAC3D,CAAC;AACH;AAEA,eAAe,UACb,UACmC;AACnC,QAAM,OAAO,MAAM,SAAS,KAAK;AACjC,MAAI,CAAC,KAAM,QAAO;AAClB,MAAI;AACF,WAAO,KAAK,MAAM,IAAI;AAAA,EACxB,QAAQ;AACN,WAAO,EAAE,SAAS,KAAK;AAAA,EACzB;AACF;AAEO,IAAM,aAAN,MAAiB;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEQ;AAAA,EACA;AAAA,EACA;AAAA,EAEjB,YAAY,UAAsC,CAAC,GAAG;AACpD,UAAM,aACJ,OAAO,YAAY,WAAW,EAAE,QAAQ,QAAQ,IAAI;AACtD,UAAM,SAAS,WAAW,UAAU,kBAAkB;AACtD,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,UAAM,cAAc,WAAW,SAAS,WAAW;AACnD,QAAI,CAAC,aAAa;AAChB,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,SAAK,SAAS;AACd,SAAK,WAAW,WAAW,WAAW,kBAAkB,QAAQ,QAAQ,EAAE;AAC1E,SAAK,cAAc;AACnB,SAAK,YAAY,WAAW,aAAa;AACzC,SAAK,aAAa,WAAW,cAAc;AAC3C,SAAK,eAAe,WAAW,gBAAgB;AAC/C,0BAAsB,KAAK,WAAW,KAAK,UAAU;AACrD,QAAI,CAAC,OAAO,SAAS,KAAK,YAAY,KAAK,KAAK,eAAe,GAAG;AAChE,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AACA,SAAK,iBAAiB,WAAW,WAAW,CAAC;AAAA,EAC/C;AAAA,EAEA,MAAM,OACJ,OACA,UAAyB,CAAC,GAC1B,iBAAiC,CAAC,GACT;AACzB,WAAO,KAAK,YAA4B,WAAW;AAAA,MACjD,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,MAAM,WAAW,OAAO,OAAO;AAAA,IACjC,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,YACJ,UACA,iBAAiC,CAAC,GACM;AACxC,WAAO,KAAK,YAA2C,WAAW;AAAA,MAChE,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,MAAM,SAAS,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,MAAM,WAAW,OAAO,OAAO,CAAC;AAAA,IAC1E,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,KACJ,OACA,UAAuB,CAAC,GACxB,iBAAiC,CAAC,GACX;AACvB,WAAO,KAAK,YAA0B,SAAS;AAAA,MAC7C,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,MAAM,SAAS,OAAO,OAAO;AAAA,IAC/B,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,UACJ,UACA,iBAAiC,CAAC,GACI;AACtC,WAAO,KAAK,YAAyC,SAAS;AAAA,MAC5D,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,MAAM,SAAS,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,MAAM,SAAS,OAAO,OAAO,CAAC;AAAA,IACxE,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,IACJ,OACA,iBAAiC,CAAC,GACZ;AACtB,WAAO,KAAK,YAAyB,QAAQ;AAAA,MAC3C,GAAG;AAAA,MACH,WAAW,eAAe,aAAa;AAAA,MACvC,QAAQ;AAAA,MACR,MAAM,EAAE,MAAM;AAAA,IAChB,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,KACJ,OACA,UAAuB,CAAC,GACxB,iBAAiC,CAAC,GACX;AACvB,WAAO,KAAK,YAA0B,SAAS;AAAA,MAC7C,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,MAAM,SAAS,OAAO,OAAO;AAAA,IAC/B,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,MACJ,KACA,UAAwB,CAAC,GACzB,iBAAiC,CAAC,GACV;AACxB,WAAO,KAAK,YAA2B,UAAU;AAAA,MAC/C,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,MAAM,QAAQ,EAAE,KAAK,gBAAgB,QAAQ,eAAe,CAAC;AAAA,IAC/D,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,WACJ,UACA,iBAAiC,CAAC,GACR;AAC1B,WAAO,KAAK,YAA6B,UAAU;AAAA,MACjD,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,MAAM,SAAS;AAAA,QAAI,CAAC,EAAE,KAAK,eAAe,MACxC,QAAQ,EAAE,KAAK,eAAe,CAAC;AAAA,MACjC;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,WACJ,KACA,UAA6B,CAAC,GAC9B,iBAAiC,CAAC,GACL;AAC7B,UAAM,WAAW,MAAM,KAAK,QAAQ,eAAe;AAAA,MACjD,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,QAAQ,SAAS,QAAQ,UAAU,KAAK;AAAA,QACxC,GAAG,eAAe;AAAA,MACpB;AAAA,MACA,MAAM,eAAe,KAAK,OAAO;AAAA,IACnC,CAAC;AACD,WAAO;AAAA,MACL,MAAM,IAAI,WAAW,MAAM,SAAS,YAAY,CAAC;AAAA,MACjD,aACE,SAAS,QAAQ,IAAI,cAAc,KAAK,SAAS,QAAQ,UAAU,KAAK;AAAA,MAC1E,WAAW,SAAS,QAAQ,IAAI,cAAc,KAAK;AAAA,IACrD;AAAA,EACF;AAAA,EAEA,MAAM,QACJ,KACA,UAA0B,CAAC,GAC3B,iBAAiC,CAAC,GACR;AAC1B,WAAO,KAAK,YAA6B,YAAY;AAAA,MACnD,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,MAAM,QAAQ,EAAE,KAAK,MAAM,QAAQ,KAAK,CAAC;AAAA,IAC3C,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,SACJ,eACA,UAA2B,CAAC,GAC5B,iBAAiC,CAAC,GACP;AAC3B,WAAO,KAAK,YAA8B,aAAa;AAAA,MACrD,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,MAAM,QAAQ;AAAA,QACZ,gBAAgB;AAAA,QAChB,aAAa,QAAQ;AAAA,MACvB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,QACJ,KACA,UAA0B,CAAC,GAC3B,iBAAiC,CAAC,GACL;AAC7B,WAAO,KAAK,YAAgC,YAAY;AAAA,MACtD,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,MAAM,QAAQ;AAAA,QACZ;AAAA,QACA,QAAQ,QAAQ;AAAA,QAChB,iBAAiB,QAAQ;AAAA,MAC3B,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,eACJ,KACA,UAA4B,CAAC,GAC7B,iBAAiC,CAAC,GACE;AACpC,WAAO,KAAK,YAAuC,cAAc;AAAA,MAC/D,GAAG;AAAA;AAAA;AAAA,MAGH,YAAY,eAAe,cAAc;AAAA,MACzC,QAAQ;AAAA,MACR,MAAM,cAAc,KAAK,OAAO;AAAA,IAClC,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,mBACJ,QACA,iBAAiC,CAAC,GACA;AAClC,WAAO,KAAK;AAAA,MACV,qBAAqB,mBAAmB,MAAM,CAAC;AAAA,MAC/C;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,iBACJ,QACA,UAAmC,CAAC,GACF;AAClC,UAAM,iBACJ,QAAQ,kBAAkB;AAC5B,UAAM,YAAY,QAAQ,aAAa;AACvC,UAAM,WAAW,KAAK,IAAI,IAAI;AAE9B,WAAO,MAAM;AACX,YAAM,WAAW,MAAM,KAAK,mBAAmB,QAAQ;AAAA,QACrD,QAAQ,QAAQ;AAAA,MAClB,CAAC;AACD,UAAI,SAAS,YAAY,QAAQ,SAAS,WAAW,aAAa;AAChE,eAAO;AAAA,MACT;AACA,UACE,SAAS,YAAY,SACrB,SAAS,WAAW,YACpB,SAAS,WAAW,aACpB;AACA,cAAM,IAAI,qBAAqB,QAAQ;AAAA,MACzC;AACA,UAAI,KAAK,IAAI,IAAI,iBAAiB,UAAU;AAC1C,cAAM,IAAI,sBAAsB,QAAQ,SAAS;AAAA,MACnD;AACA,YAAM,MAAM,gBAAgB,QAAQ,MAAM;AAAA,IAC5C;AAAA,EACF;AAAA,EAEA,MAAM,UACJ,KACA,UAA4B,CAAC,GAC7B,cAAuC,CAAC,GACxC,iBAAiC,CAAC,GACA;AAClC,UAAM,OAAO,MAAM,KAAK,eAAe,KAAK,SAAS,cAAc;AACnE,WAAO,KAAK,iBAAiB,KAAK,QAAQ,WAAW;AAAA,EACvD;AAAA,EAEA,MAAM,MACJ,QACA,iBAAiC,CAAC,GACV;AACxB,WAAO,KAAK,YAA2B,UAAU;AAAA,MAC/C,GAAG;AAAA,MACH,OAAO,EAAE,OAAO;AAAA,IAClB,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,OAAO,iBAAiC,CAAC,GAA4B;AACzE,WAAO,KAAK,YAA4B,WAAW,cAAc;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,SACJ,SACA,UAA2B,CAAC,GAC5B,iBAAiC,CAAC,GACP;AAC3B,WAAO,KAAK,YAA8B,aAAa;AAAA,MACrD,GAAG;AAAA;AAAA;AAAA,MAGH,YAAY,eAAe,cAAc;AAAA,MACzC,QAAQ;AAAA,MACR,MAAM,QAAQ;AAAA,QACZ;AAAA,QACA,QAAQ,QAAQ;AAAA,QAChB,UAAU,QAAQ;AAAA,QAClB,YAAY,QAAQ;AAAA,QACpB,OAAO,QAAQ,QACX,QAAQ,EAAE,MAAM,QAAQ,MAAM,MAAM,OAAO,QAAQ,MAAM,MAAM,CAAC,IAChE;AAAA,MACN,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,YACZ,MACA,UAAkC,CAAC,GACvB;AACZ,UAAM,WAAW,MAAM,KAAK,QAAQ,MAAM,OAAO;AACjD,UAAM,OAAO,MAAM,SAAS,KAAK;AACjC,QAAI;AACF,aAAO,KAAK,MAAM,IAAI;AAAA,IACxB,SAAS,OAAO;AACd,YAAM,IAAI;AAAA,QACR,wCAAwC,IAAI;AAAA,QAC5C,EAAE,OAAO,MAAM;AAAA,MACjB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAc,QACZ,MACA,UAAkC,CAAC,GAChB;AACnB,UAAM,aAAa,QAAQ,cAAc,KAAK;AAC9C,0BAAsB,QAAQ,aAAa,KAAK,WAAW,UAAU;AACrE,UAAM,MAAM,IAAI,IAAI,GAAG,KAAK,OAAO,GAAG,IAAI,EAAE;AAC5C,eAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,QAAQ,SAAS,CAAC,CAAC,GAAG;AAC/D,UAAI,UAAU,OAAW,KAAI,aAAa,IAAI,MAAM,KAAK;AAAA,IAC3D;AAEA,aAAS,UAAU,GAAG,WAAW,YAAY,WAAW,GAAG;AACzD,UAAI;AACJ,UAAI;AACF,mBAAW,MAAM,KAAK,UAAU,KAAK,OAAO;AAAA,MAC9C,SAAS,OAAO;AACd,YACE,UAAU,cACV,CAAC,QAAQ,QAAQ,YAChB,iBAAiB,sBAChB,iBAAiB,kBACnB;AACA,gBAAM,MAAM,KAAK,WAAW,OAAO,GAAG,QAAQ,MAAM;AACpD;AAAA,QACF;AACA,cAAM;AAAA,MACR;AAEA,UAAI,SAAS,GAAI,QAAO;AACxB,UAAI,UAAU,cAAc,YAAY,SAAS,MAAM,GAAG;AACxD,cAAM;AAAA,UACJ,aAAa,QAAQ,KAAK,KAAK,WAAW,OAAO;AAAA,UACjD,QAAQ;AAAA,QACV;AACA;AAAA,MACF;AAEA,YAAM;AAAA,QACJ,SAAS;AAAA,QACT,SAAS;AAAA,QACT,MAAM,UAAU,QAAQ;AAAA,MAC1B;AAAA,IACF;AAEA,UAAM,IAAI,gBAAgB,+CAA+C;AAAA,EAC3E;AAAA,EAEA,MAAc,UACZ,KACA,SACmB;AACnB,UAAM,aAAa,IAAI,gBAAgB;AACvC,QAAI,WAAW;AACf,UAAM,UAAU,WAAW,MAAM;AAC/B,iBAAW;AACX,iBAAW,MAAM;AAAA,IACnB,GAAG,QAAQ,aAAa,KAAK,SAAS;AACtC,UAAM,UAAU,MAAM,WAAW,MAAM,QAAQ,QAAQ,MAAM;AAC7D,YAAQ,QAAQ,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;AAEjE,UAAM,UAAU,IAAI,QAAQ;AAAA,MAC1B,QAAQ;AAAA,MACR,eAAe,UAAU,KAAK,MAAM;AAAA,MACpC,uBAAuB;AAAA,MACvB,GAAG,KAAK;AAAA,MACR,GAAG,QAAQ;AAAA,IACb,CAAC;AACD,QAAI,QAAQ,SAAS;AACnB,cAAQ,IAAI,gBAAgB,kBAAkB;AAEhD,QAAI;AACF,aAAO,MAAM,KAAK,YAAY,KAAK;AAAA,QACjC,QAAQ,QAAQ,UAAU;AAAA,QAC1B;AAAA,QACA,MACE,QAAQ,SAAS,SAAY,SAAY,KAAK,UAAU,QAAQ,IAAI;AAAA,QACtE,QAAQ,WAAW;AAAA,MACrB,CAAC;AAAA,IACH,SAAS,OAAO;AACd,UAAI,UAAU;AACZ,cAAM,IAAI;AAAA,UACR,sCAAsC,QAAQ,aAAa,KAAK,SAAS;AAAA,UACzE,EAAE,OAAO,MAAM;AAAA,QACjB;AAAA,MACF;AACA,UAAI,QAAQ,QAAQ,SAAS;AAC3B,cAAM,IAAI,mBAAmB,kCAAkC;AAAA,UAC7D,OAAO;AAAA,QACT,CAAC;AAAA,MACH;AACA,YAAM,IAAI,mBAAmB,mCAAmC;AAAA,QAC9D,OAAO;AAAA,MACT,CAAC;AAAA,IACH,UAAE;AACA,mBAAa,OAAO;AACpB,cAAQ,QAAQ,oBAAoB,SAAS,OAAO;AAAA,IACtD;AAAA,EACF;AAAA,EAEQ,WAAW,SAAyB;AAC1C,UAAM,OAAO,KAAK,eAAe,KAAK;AACtC,WAAO,OAAO,KAAK,MAAM,KAAK,OAAO,IAAI,OAAO,IAAI;AAAA,EACtD;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -107,6 +107,61 @@ export interface AskResponse {
|
|
|
107
107
|
message: string;
|
|
108
108
|
}>;
|
|
109
109
|
}
|
|
110
|
+
export interface MapsLocation {
|
|
111
|
+
latitude: number;
|
|
112
|
+
longitude: number;
|
|
113
|
+
/** Map zoom, 3-30. The API defaults to 14. */
|
|
114
|
+
zoom?: number;
|
|
115
|
+
}
|
|
116
|
+
export interface MapsOptions {
|
|
117
|
+
/** Two-letter country code. The API defaults to `us`. */
|
|
118
|
+
country?: string;
|
|
119
|
+
/** Result language, such as `en`, `de` or `zh-CN`. The API defaults to `en`. */
|
|
120
|
+
language?: string;
|
|
121
|
+
/** Search around this point. Required when `page` is greater than 1. */
|
|
122
|
+
location?: MapsLocation;
|
|
123
|
+
/** Google Maps page, 1-6. Each page is a separate, separately billed request. */
|
|
124
|
+
page?: number;
|
|
125
|
+
/** Places to return from the page, 1-20. Fewer places do not lower the price. */
|
|
126
|
+
maxResults?: number;
|
|
127
|
+
}
|
|
128
|
+
export interface MapsParameters {
|
|
129
|
+
query: string;
|
|
130
|
+
country: string;
|
|
131
|
+
language: string;
|
|
132
|
+
location?: Required<MapsLocation>;
|
|
133
|
+
page: number;
|
|
134
|
+
max_results: number;
|
|
135
|
+
}
|
|
136
|
+
export interface MapsPlace {
|
|
137
|
+
/** Position in the requested Google Maps page. Gaps can remain after filtering. */
|
|
138
|
+
position: number;
|
|
139
|
+
name: string;
|
|
140
|
+
place_id: string;
|
|
141
|
+
maps_url: string;
|
|
142
|
+
address?: string;
|
|
143
|
+
phone?: string;
|
|
144
|
+
website?: string;
|
|
145
|
+
thumbnail?: string;
|
|
146
|
+
category?: string;
|
|
147
|
+
categories?: string[];
|
|
148
|
+
rating?: number;
|
|
149
|
+
review_count?: number;
|
|
150
|
+
coordinates?: {
|
|
151
|
+
latitude: number;
|
|
152
|
+
longitude: number;
|
|
153
|
+
};
|
|
154
|
+
opening_hours?: Partial<Record<'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday', string>>;
|
|
155
|
+
/** Source display text for the current opening state. */
|
|
156
|
+
open_state?: string;
|
|
157
|
+
/** Source display text for the price range. */
|
|
158
|
+
price?: string;
|
|
159
|
+
description?: string;
|
|
160
|
+
}
|
|
161
|
+
export interface MapsResponse {
|
|
162
|
+
searchParameters: MapsParameters;
|
|
163
|
+
results: MapsPlace[];
|
|
164
|
+
}
|
|
110
165
|
export type FeedbackCategory = 'bug' | 'feature_request' | 'docs' | 'other';
|
|
111
166
|
export interface FeedbackOptions {
|
|
112
167
|
/** The task you were trying to complete. */
|
|
@@ -219,14 +274,48 @@ export interface ExtractResponse<T = JsonValue> {
|
|
|
219
274
|
};
|
|
220
275
|
results: T;
|
|
221
276
|
}
|
|
277
|
+
export type DeepcrawlFormat = 'zip' | 'json';
|
|
222
278
|
export interface DeepcrawlOptions {
|
|
223
279
|
type?: 'sitemap' | 'all';
|
|
280
|
+
/** Pages to crawl, 1-1000. The API defaults to 1000. Applied after the path rules, in discovery order. */
|
|
281
|
+
maxPages?: number;
|
|
282
|
+
/**
|
|
283
|
+
* Only crawl URLs whose path matches one of these rules (up to 20, each 1-200
|
|
284
|
+
* characters). A rule without `*` is a path prefix on segment boundaries:
|
|
285
|
+
* `/docs` matches `/docs/api` but not `/docsearch`. A rule with `*` must match
|
|
286
|
+
* the whole path, and `*` matches any characters including `/`.
|
|
287
|
+
*/
|
|
288
|
+
includePaths?: string[];
|
|
289
|
+
/** Skip URLs whose path matches one of these rules, same syntax as `includePaths`. Exclusion wins. */
|
|
290
|
+
excludePaths?: string[];
|
|
291
|
+
/** `zip` (the API default) returns `zipUrl`; `json` returns `pages` and `resultUrl`. */
|
|
292
|
+
format?: DeepcrawlFormat;
|
|
224
293
|
}
|
|
225
294
|
export interface DeepcrawlAcceptedResponse {
|
|
226
295
|
taskId: string;
|
|
227
296
|
status: 'queued' | string;
|
|
228
297
|
}
|
|
229
298
|
export type DeepcrawlStatus = 'queued' | 'waiting' | 'processing' | 'completed' | 'failed' | 'not_found';
|
|
299
|
+
export interface DeepcrawlStats {
|
|
300
|
+
/** Links found on the site. */
|
|
301
|
+
discovered: number;
|
|
302
|
+
/** Links that passed `includePaths` / `excludePaths`. */
|
|
303
|
+
matched: number;
|
|
304
|
+
/** Matched links left out by `maxPages`. */
|
|
305
|
+
skipped: number;
|
|
306
|
+
crawled: number;
|
|
307
|
+
failed: number;
|
|
308
|
+
}
|
|
309
|
+
export interface DeepcrawlFailedPage {
|
|
310
|
+
url: string;
|
|
311
|
+
error: string;
|
|
312
|
+
}
|
|
313
|
+
export interface DeepcrawlPage {
|
|
314
|
+
url: string;
|
|
315
|
+
title: string | null;
|
|
316
|
+
/** Page body as Markdown. */
|
|
317
|
+
content: string;
|
|
318
|
+
}
|
|
230
319
|
export interface DeepcrawlStatusResponse {
|
|
231
320
|
taskId: string;
|
|
232
321
|
status?: DeepcrawlStatus | string;
|
|
@@ -234,7 +323,17 @@ export interface DeepcrawlStatusResponse {
|
|
|
234
323
|
message?: string;
|
|
235
324
|
error?: string | null;
|
|
236
325
|
r2Key?: string;
|
|
326
|
+
/** `format: 'zip'` result. */
|
|
237
327
|
zipUrl?: string | null;
|
|
328
|
+
format?: DeepcrawlFormat;
|
|
329
|
+
/** Page counts once the task has finished. */
|
|
330
|
+
stats?: DeepcrawlStats;
|
|
331
|
+
/** Pages that could not be crawled. */
|
|
332
|
+
failed?: DeepcrawlFailedPage[];
|
|
333
|
+
/** `format: 'json'` only: URL of the JSON file `{ pages, failed }`. */
|
|
334
|
+
resultUrl?: string | null;
|
|
335
|
+
/** `format: 'json'` only, in discovery order. Omitted when the result exceeds 5 MB; download `resultUrl` instead. */
|
|
336
|
+
pages?: DeepcrawlPage[];
|
|
238
337
|
[key: string]: unknown;
|
|
239
338
|
}
|
|
240
339
|
export interface WaitForDeepcrawlOptions {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAC7D,MAAM,MAAM,SAAS,GACjB,aAAa,GACb,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEjC,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE1D,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,YAAY,GACZ,OAAO,GACP,QAAQ,GACR,SAAS,GACT,GAAG,GACH,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,UAAU,GACV,MAAM,GACN,WAAW,GACX,YAAY,GACZ,OAAO,GACP,KAAK,GACL,OAAO,CAAC;AAEZ,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,MAAM,GACN,YAAY,GACZ,OAAO,GACP,YAAY,GACZ,SAAS,CAAC;AAEd,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oHAAoH;IACpH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,MAAM,CAAC;IACzD,cAAc,CAAC,EAAE,UAAU,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,YAAY,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kGAAkG;IAClG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,cAAc,CAAC;IACjC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,gFAAgF;IAChF,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5E,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AACvD,MAAM,MAAM,mBAAmB,GAC3B,kBAAkB,GAClB,MAAM,GACN,aAAa,CAAC;AAElB,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,SAAS;IAC5C,OAAO,EAAE,IAAI,CAAC;IACd,iBAAiB,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IAC9C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|