SurfSense/surfsense_backend/app/config
DESKTOP-RTLN3BA\$punk 17bdb06825 feat(03c): bill credits per successful web crawl
Add a config-driven crawl meter (1 USD / 1000 successes by default, retunable
via WEB_CRAWL_MICROS_PER_SUCCESS) mirroring EtlCreditService:

- WebCrawlCreditService (gate -> pre-check -> post-charge) on the unified wallet
- webcrawler indexer: pre-flight credit block + post-charge of the workspace
  owner per success, with a web_crawl TokenUsage audit row
- chat scrape_webpage (main + research): fold each successful scrape into the
  active turn's token accumulator so it settles with the chat turn
- WEB_CRAWL_CREDIT_BILLING_ENABLED / WEB_CRAWL_MICROS_PER_SUCCESS config + env
- unit tests (service) + integration tests (indexer wiring)
- scripts/e2e_phase3_crawl_billing.py: manual functional e2e (3a/3b/3c)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 21:40:53 -07:00
..
__init__.py feat(03c): bill credits per successful web crawl 2026-06-29 21:40:53 -07:00
global_llm_config.example.yaml refactor(anonymous-models): remove description field from anonymous model responses and update related UI components 2026-06-13 16:30:26 +05:30
model_list_fallback.json feat: added improved llm model selector 2026-02-20 14:28:01 -08:00
uvicorn.py Fixed all ruff lint and formatting errors 2025-07-24 14:43:48 -07:00
vision_model_list_fallback.json Add dynamic vision model list from OpenRouter with combobox selector 2026-04-07 23:39:52 +02:00