Skip to content

[pull] main from firecrawl:main - #373

Merged
pull[bot] merged 1 commit into
innFactory:mainfrom
firecrawl:main
Aug 17, 2026
Merged

[pull] main from firecrawl:main#373
pull[bot] merged 1 commit into
innFactory:mainfrom
firecrawl:main

Conversation

@pull

@pull pull Bot commented Aug 17, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

* fix(api): stop charging the +4 credit surcharge for enhanced (stealth) proxies

Enhanced (stealth) proxies now bill at the same rate as basic. The
surcharge was a flat +4 credits, applied in three independent places:

- `lib/scrape-billing.ts`: the real charge, keyed on the proxy actually
  used, so `auto`-escalated stealth retries paid it too.
- `lib/keyless-credit-projection.ts`: the keyless up-front reservation,
  which also reserved for `proxy: "auto"` (the v2 default).
- `services/monitoring/store.ts`: the watch estimate and the
  actual-credits fallback. `SCRAPE_OPTION_CREDIT_BONUS` stays — it is
  shared with lockdown/question/highlights/audio/video.

Removing the monitoring proxy usage left the `includeProxy` plumbing and
`MonitorCreditMetadata.proxyUsed` dead, so both are gone.

`unsupportedFeatures` stays in the `calculateCreditsToBeBilled` signature
(renamed `_unsupportedFeatures`) because callers pass `exchange` and
`threatDecisions` positionally after it.

json-mode scrapes still cost 5: that branch assigns, it does not add.
The other +4 add-ons and ZDR's +1 are untouched.

Also updates the v1/v2 OpenAPI specs and the Elixir SDK docstring, which
claimed "Costs up to 5 credits per request".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FXrJTj9WQdxvbxGLEvjUSp

* docs(api): say "enhanced" instead of "stealth" in billing comments

Wording only. The `proxy` parameter still accepts `basic`/`stealth`/
`enhanced`/`auto` and `metadata.proxyUsed` still reports `"stealth"`, so
every literal value, enum member, engine name and feature flag is
untouched; only test titles and comments change.

The v1/v2 OpenAPI `proxy` descriptions and the Elixir SDK docstrings
already used "enhanced" and needed no change.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FXrJTj9WQdxvbxGLEvjUSp

* docs(python-sdk): correct the stale v1 proxy docstring

Both `proxy` docstrings in the v1 client listed
`Literal["basic", "stealth", "auto"]`, omitting `enhanced`, which every
one of the real signatures has accepted. Adds it and updates the
parenthetical to name the mode as customers see it.

`stealth` stays inside the Literal because the API still accepts it; the
signatures themselves are unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FXrJTj9WQdxvbxGLEvjUSp

---------

Co-authored-by: Claude <noreply@anthropic.com>
@pull pull Bot locked and limited conversation to collaborators Aug 17, 2026
@pull pull Bot added the ⤵️ pull label Aug 17, 2026
@pull
pull Bot merged commit 2a0182d into innFactory:main Aug 17, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants