SPB Git

spb/tendril Public

Tendril — web ingestion platform (scrape/crawl/map/search) on macOS Apple Silicon: WebKit fidelity, authenticated pages, deterministic testable extraction. A self-hosted Firecrawl alternative.

JavaScript 82.6% TypeScript 11.8% HTML 5.3%
1.0 KB · 46 lines typescript
Raw Blame History
1// author: simon-pierre boucher <contact@spboucher.ai>2export interface PageMetadata {3  title?: string;4  description?: string;5  author?: string;6  canonical?: string;7  lang?: string;8  image?: string;9  siteName?: string;10  type?: string;11  publishedTime?: string;12  modifiedTime?: string;13  keywords?: string[];14}1516export interface StructuredData {17  jsonld: unknown[];18  openGraph: Record<string, string>;19  twitter: Record<string, string>;20}2122export interface ExtractOptions {23  readonly url: string;24  readonly onlyMainContent?: boolean;25  readonly includeTags?: readonly string[];26  readonly excludeTags?: readonly string[];27}2829export interface ExtractResult {30  readonly markdown: string;31  readonly html: string;32  readonly links: PageLink[];33  readonly metadata: PageMetadata;34  readonly structured: StructuredData;35  readonly textLength: number;36}3738export interface PageLink {39  readonly url: string;40  readonly text: string;41  readonly rel: string | null;42  readonly isInternal: boolean;43}4445export const PIPELINE_VERSION = "0.1.0";46