--- name: sandbox-html description: Select elements out of HTML and convert a page to markdown in a Code node or CodeAct action, with cheerio and turndown running on the host --- # HTML in the sandbox Specifier: `@nodetool-ai/sandbox-html`. Import it at the top of the body. cheerio imports 25 Node builtins and turndown wants a DOM, so neither compiles into the guest. This pack is a **host module**: the import resolves to a generated facade over NodeTool's own implementation. Both exports are `async`. ## select — CSS selection ```js import { select } from "@nodetool-ai/sandbox-html"; const hrefs = await select(inputs.html, "a[href]", { attr: "href", limit: 500 }); const titles = await select(inputs.html, "h2"); // trimmed text of each match return { hrefs, titles }; ``` Returns trimmed text per match, or the named attribute when `attr` is set. `limit` defaults to **100** and is clamped to **1000** — the cap is in the host implementation, so raising it in the call does nothing. ## toMarkdown — a whole page ```js import { toMarkdown } from "@nodetool-ai/sandbox-html"; const markdown = await toMarkdown(inputs.html); return { markdown }; ``` The usual first step before summarizing or indexing a fetched page. Pass `{ turndown: {...} }` to override turndown's own options. ## toText — a whole page as plain text ```js import { toText } from "@nodetool-ai/sandbox-html"; const text = await toText(inputs.html); return { text }; ``` Strips `