webforai 3.0.0 → 4.0.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 +25 -5
- package/dist/bin.js +1277 -479
- package/dist/cjs/detect-client-shell.js +78 -0
- package/dist/cjs/extract-meta-refresh.js +71 -0
- package/dist/cjs/extractors/lib/sanitize.js +4 -0
- package/dist/cjs/html-to-mdast.js +2 -1
- package/dist/cjs/index.js +12 -0
- package/dist/cjs/link-replacer.js +19 -13
- package/dist/cjs/loaders/cf-puppeteer.js +14 -7
- package/dist/cjs/loaders/fetch.js +14 -2
- package/dist/cjs/loaders/playwright.js +32 -30
- package/dist/cjs/loaders/puppeteer.js +14 -7
- package/dist/cjs/md-splitter.js +24 -11
- package/dist/cjs/mdast-handlers/custom-code-handler.js +18 -7
- package/dist/cjs/mdast-handlers/custom-div-handler.js +12 -33
- package/dist/cjs/mdast-handlers/definition-list-handler.js +17 -6
- package/dist/cjs/mdast-to-markdown.js +2 -5
- package/dist/cjs/normalize/index.js +11 -2
- package/dist/cjs/platform/client.js +73 -16
- package/dist/cjs/platform/index.js +4 -0
- package/dist/cjs/platform/types.js +7 -1
- package/dist/detect-client-shell.js +53 -0
- package/dist/extract-meta-refresh.js +47 -0
- package/dist/extractors/lib/sanitize.js +4 -0
- package/dist/html-to-mdast.js +2 -1
- package/dist/index.js +14 -0
- package/dist/link-replacer.js +19 -13
- package/dist/loaders/cf-puppeteer.js +15 -8
- package/dist/loaders/fetch.js +14 -2
- package/dist/loaders/playwright.js +32 -30
- package/dist/loaders/puppeteer.js +15 -8
- package/dist/md-splitter.js +24 -11
- package/dist/mdast-handlers/custom-code-handler.js +17 -7
- package/dist/mdast-handlers/custom-div-handler.js +12 -33
- package/dist/mdast-handlers/definition-list-handler.js +17 -6
- package/dist/mdast-to-markdown.js +2 -5
- package/dist/normalize/index.js +12 -2
- package/dist/platform/client.js +73 -16
- package/dist/platform/index.js +4 -0
- package/dist/platform/types.js +5 -1
- package/dist/types/cli/bin.js.map +1 -1
- package/dist/types/cli/commands/jobs/files.d.ts +28 -0
- package/dist/types/cli/commands/jobs/files.js.map +1 -0
- package/dist/types/cli/commands/jobs/llms-txt.d.ts +33 -0
- package/dist/types/cli/commands/jobs/llms-txt.js.map +1 -0
- package/dist/types/cli/commands/jobs/options.d.ts +58 -0
- package/dist/types/cli/commands/jobs/options.js.map +1 -0
- package/dist/types/cli/commands/jobs/run.d.ts +44 -0
- package/dist/types/cli/commands/jobs/run.js.map +1 -0
- package/dist/types/cli/commands/skill/content.js.map +1 -1
- package/dist/types/cli/commands/webforai/interactive.d.ts +1 -1
- package/dist/types/cli/commands/webforai/interactive.js.map +1 -1
- package/dist/types/cli/commands/webforai/options.d.ts +9 -2
- package/dist/types/cli/commands/webforai/options.js.map +1 -1
- package/dist/types/cli/commands/webforai/run.js.map +1 -1
- package/dist/types/cli/utils.d.ts +8 -1
- package/dist/types/cli/utils.js.map +1 -1
- package/dist/types/detect-client-shell.d.ts +24 -0
- package/dist/types/detect-client-shell.js.map +1 -0
- package/dist/types/extract-meta-refresh.d.ts +29 -0
- package/dist/types/extract-meta-refresh.js.map +1 -0
- package/dist/types/extractors/lib/sanitize.js.map +1 -1
- package/dist/types/html-to-mdast.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/link-replacer.d.ts +3 -1
- package/dist/types/link-replacer.js.map +1 -1
- package/dist/types/loaders/cf-puppeteer.js.map +1 -1
- package/dist/types/loaders/fetch.d.ts +4 -0
- package/dist/types/loaders/fetch.js.map +1 -1
- package/dist/types/loaders/playwright.js.map +1 -1
- package/dist/types/loaders/puppeteer.js.map +1 -1
- package/dist/types/md-splitter.d.ts +1 -1
- package/dist/types/md-splitter.js.map +1 -1
- package/dist/types/mdast-handlers/custom-code-handler.d.ts +2 -0
- package/dist/types/mdast-handlers/custom-code-handler.js.map +1 -1
- package/dist/types/mdast-handlers/custom-div-handler.js.map +1 -1
- package/dist/types/mdast-handlers/definition-list-handler.d.ts +0 -11
- package/dist/types/mdast-handlers/definition-list-handler.js.map +1 -1
- package/dist/types/mdast-to-markdown.js.map +1 -1
- package/dist/types/normalize/index.js.map +1 -1
- package/dist/types/platform/client.d.ts +2 -1
- package/dist/types/platform/client.js.map +1 -1
- package/dist/types/platform/error.d.ts +5 -3
- package/dist/types/platform/error.js.map +1 -1
- package/dist/types/platform/fetch.d.ts +2 -0
- package/dist/types/platform/fetch.js.map +1 -1
- package/dist/types/platform/index.d.ts +1 -1
- package/dist/types/platform/index.js.map +1 -1
- package/dist/types/platform/types.d.ts +35 -6
- package/dist/types/platform/types.js.map +1 -1
- package/package.json +16 -5
package/README.md
CHANGED
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
12
|
<p align="center">
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
Convert web pages and local HTML to clean, LLM-ready Markdown — with a TypeScript library, the <code>npx webforai</code> CLI, or a hosted API.
|
|
14
|
+
</p>
|
|
15
15
|
|
|
16
16
|
<p align="center">
|
|
17
17
|
<a href="https://www.npmjs.com/package/webforai">
|
|
@@ -30,7 +30,17 @@
|
|
|
30
30
|
|
|
31
31
|
## Documentation
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
Everything is documented at **[webforai.dev](https://webforai.dev)**. Start from what you want to do:
|
|
34
|
+
|
|
35
|
+
| I want to… | Use | Start here |
|
|
36
|
+
| --- | --- | --- |
|
|
37
|
+
| convert HTML in my own code (Node.js, browsers, Workers) | the `webforai` library | [Getting started](https://webforai.dev/getting-started) |
|
|
38
|
+
| get Markdown for a URL from the shell or an AI agent | the CLI, `npx webforai <url>` | [CLI](https://webforai.dev/cli) |
|
|
39
|
+
| call a hosted API that runs the browsers and proxies for me | webforai platform | [platform.webforai.dev](https://platform.webforai.dev) (sign-up, API keys, usage) · [platform docs](https://webforai.dev/platform) |
|
|
40
|
+
| run my own copy of that platform | [`apps/platform`](https://github.com/inaridiy/webforai/tree/main/apps/platform) | [Deploying your own instance](https://github.com/inaridiy/webforai/tree/main/apps/platform#deploying-your-own-instance) |
|
|
41
|
+
|
|
42
|
+
The library, the CLI and the typed platform client (`webforai/platform`) all ship in the one
|
|
43
|
+
`webforai` npm package.
|
|
34
44
|
|
|
35
45
|
## Overview
|
|
36
46
|
|
|
@@ -40,7 +50,9 @@ npx webforai@latest https://example.com/article
|
|
|
40
50
|
|
|
41
51
|
# machine-readable output, hosted-platform fetching, agent installation
|
|
42
52
|
npx webforai@latest https://example.com --json
|
|
43
|
-
npx webforai@latest https://example.com --engine
|
|
53
|
+
npx webforai@latest https://example.com --engine auto # platform, renders JS when needed
|
|
54
|
+
npx webforai@latest crawl https://docs.example.com -o docs --llms-txt # site → .md files + llms.txt
|
|
55
|
+
npx webforai@latest batch --file urls.txt -o pages # many URLs → one .md per page
|
|
44
56
|
npx webforai@latest skill --install # Agent Skill via `npx skills add`
|
|
45
57
|
```
|
|
46
58
|
|
|
@@ -58,6 +70,13 @@ const html = await loadHtml(url);
|
|
|
58
70
|
const markdown = htmlToMarkdown(html, { baseUrl: url });
|
|
59
71
|
```
|
|
60
72
|
|
|
73
|
+
The CLI keeps Markdown/JSON on stdout and API failures on stderr, including the error code
|
|
74
|
+
and `retryAfter` when supplied; `invalid_api_key`, `payment_required` and `spend_cap_reached`
|
|
75
|
+
name the platform dashboard. `crawl` and `batch` run hosted jobs (API key required) and write
|
|
76
|
+
one Markdown file per page. `--engine` and `--region` select the platform loader; combining
|
|
77
|
+
them with an explicit local loader exits with usage error `2`. The interactive wizard applies
|
|
78
|
+
the same validation and honors `WEBFORAI_PLATFORM_URL`.
|
|
79
|
+
|
|
61
80
|
## What v3 changes
|
|
62
81
|
|
|
63
82
|
**Better extraction.** The main-content extractor scores candidate containers the way Readability
|
|
@@ -110,7 +129,8 @@ self-hostable SaaS built on this library: a metered crawl→Markdown HTTP API on
|
|
|
110
129
|
(Workers + Workflows + Containers + Browser Run) with Better Auth accounts/API keys and
|
|
111
130
|
Stripe usage-based billing. Use it through the typed `webforai/platform` client
|
|
112
131
|
(`import { createPlatformClient } from "webforai/platform"`) or the CLI
|
|
113
|
-
(`npx webforai <url> --engine
|
|
132
|
+
(`npx webforai <url> --engine auto`). Sign up and manage API keys at
|
|
133
|
+
[platform.webforai.dev](https://platform.webforai.dev); the docs live at
|
|
114
134
|
[webforai.dev/platform](https://webforai.dev/platform). See its README and the design ledger
|
|
115
135
|
in `docs/specs/platform`.
|
|
116
136
|
|