@llml-browser/types
Version:
TypeScript types and schemas for the @llml-browser API
1 lines • 2.72 kB
Source Map (JSON)
{"version":3,"sources":["../src/routers/read/index.ts"],"sourcesContent":["import type { ScrapedData } from '@/services/cheerio';\nimport { HTMLCleaningOptionsSchema } from '@/services/html-cleaning';\nimport { MetadataOptionsSchema } from '@/services/metadata';\nimport z from 'zod';\n\nexport const readOptionsSchema = z.object({\n /**\n * The URL to scrape.\n * Must be a valid URL string.\n */\n url: z.string(),\n\n /**\n * Whether to extract metadata from the page.\n * Default: true\n */\n // default true if not set\n metadata: z.preprocess(\n (val) => val !== 'false' && val !== false,\n z.boolean().optional(),\n ),\n\n /**\n * Whether to extract markdown from the page.\n * Default: true\n */\n // default true if not set\n markdown: z.preprocess(\n (val) => val !== 'false' && val !== false,\n z.boolean().optional(),\n ),\n\n /**\n * Whether to return cleaned HTML.\n * Default: true\n */\n cleanedHtml: z.preprocess(\n (val) => val !== 'false' && val !== false,\n z.boolean().optional(),\n ),\n\n /**\n * Whether to fetch and parse robots.txt.\n * Default: false\n */\n robots: z.preprocess(\n (val) => val === 'true' || val === true,\n z.boolean().optional(),\n ),\n\n /**\n * Options for metadata extraction.\n * Controls how metadata like title, description, etc. are extracted.\n */\n metadataOptions: MetadataOptionsSchema.optional(),\n\n /**\n * Options for HTML cleaning.\n * Controls how HTML is sanitized and cleaned.\n */\n cleanedHtmlOptions: HTMLCleaningOptionsSchema.optional(),\n});\n\nexport type ReadOptions = z.infer<typeof readOptionsSchema>;\n\nexport type ReadResponseBase = {\n success: boolean;\n targetUrl: string;\n};\n\nexport type ReadErrorResponse = ReadResponseBase & {\n success: false;\n error: string;\n};\n\nexport type ReadSuccessResponse = ReadResponseBase &\n Omit<ScrapedData, 'rawHtml'> & {\n success: true;\n duration: string;\n markdown?: string;\n };\n"],"mappings":";;;;;;;;AAGA,OAAO,OAAO;AAEP,IAAM,oBAAoB,EAAE,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKxC,KAAK,EAAE,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOd,UAAU,EAAE;AAAA,IACV,CAAC,QAAQ,QAAQ,WAAW,QAAQ;AAAA,IACpC,EAAE,QAAQ,EAAE,SAAS;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,UAAU,EAAE;AAAA,IACV,CAAC,QAAQ,QAAQ,WAAW,QAAQ;AAAA,IACpC,EAAE,QAAQ,EAAE,SAAS;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAa,EAAE;AAAA,IACb,CAAC,QAAQ,QAAQ,WAAW,QAAQ;AAAA,IACpC,EAAE,QAAQ,EAAE,SAAS;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ,EAAE;AAAA,IACR,CAAC,QAAQ,QAAQ,UAAU,QAAQ;AAAA,IACnC,EAAE,QAAQ,EAAE,SAAS;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,iBAAiB,sBAAsB,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhD,oBAAoB,0BAA0B,SAAS;AACzD,CAAC;","names":[]}