Commit graph

128 commits

Author SHA1 Message Date
DESKTOP-RTLN3BA\$punk
bdacea8b6e feat(crawler): captcha solving + per-attempt billing (Phase 3d)
Wire captchatools as the StealthyFetcher-tier page_action to detect, harvest
(egressing from the crawl's own proxy IP), inject, and submit reCAPTCHA v2/v3
and hCaptcha tokens. Opt-in and off by default (zero attempts, zero cost).

Licensing split:
- Apache-2 app/utils/captcha/ holds the generic, vendor-agnostic config
  (CaptchaConfig + captcha_enabled() = flag AND key present).
- Proprietary app/proprietary/web_crawler/captcha.py holds the bypass logic
  (detect/harvest/inject) plus a process-wide solver latch that halts solving
  on unrecoverable errors (no balance / bad key).

Crawler: CrawlOutcome gains captcha_attempts/captcha_solved, surfaced via a
per-call captcha_state dict threaded crawl_url -> _crawl_with_stealthy(_sync)
and stamped onto every stealth terminal outcome. The stealth tier captures the
proxy once and reuses it for both the fetch and the solver (IP-coherence).

Billing: WebCrawlCreditService gains captcha_billing_enabled,
captcha_solves_to_micros, charge_captcha, and a generic check_balance, sharing
a single _apply_debit path. The indexer accumulates attempts (even on failed
crawls), runs a combined crawl+captcha pre-flight, and posts a per-attempt
owner charge as usage_type="web_crawl_captcha". The captcha worst-case is only
reserved when solving is actually enabled, so a solving-off deployment is never
blocked for captcha that can never run. Both chat scrape tools fold attempts
into the current turn before the success/fail branch.

Fully config-driven prices; no migration. New unit tests cover the config,
factory (detection/latch/timeout/cap), credit service, indexer wiring, and the
chat fold.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 22:58:21 -07:00
DESKTOP-RTLN3BA\$punk
5c36cd3071 feat(03a): implement Scrapling-only web crawler and remove Firecrawl integration
- Standardized the web crawler to use Scrapling exclusively, removing Firecrawl entirely.
- Updated the crawler's location to `app/proprietary/web_crawler/connector.py` under a non-Apache-2 license boundary.
- Refactored the `WebCrawlerConnector` to eliminate the Firecrawl API key dependency, simplifying the interface for crawling URLs.
- Adjusted related components to accommodate the new structure and ensure successful crawl outcomes are properly handled.
- Updated documentation to reflect these changes and the new implementation status.
2026-06-29 20:37:56 -07:00
DESKTOP-RTLN3BA\$punk
e1ffbfea27 feat: bumped version to 0.0.30 2026-06-25 21:05:04 -07:00
DESKTOP-RTLN3BA\$punk
c6d42fc7c8 feat: bumped version to 0.0.29 2026-06-17 22:29:50 -07:00
Anish Sarkar
0c15a37618 chore: update dependencies in pyproject.toml and uv.lock, removing flower 2026-06-14 20:29:52 +05:30
DESKTOP-RTLN3BA\$punk
f166a532bd feat(version): bumped to 0.0.28 2026-06-11 15:59:44 -07:00
DESKTOP-RTLN3BA\$punk
cb17f31dc1 feat(version)" bumped version to 0.0.27 2026-06-09 22:52:12 -07:00
DESKTOP-RTLN3BA\$punk
640ef5f15d feat(proxy): integrate Scrapling for enhanced web scraping capabilities
- Replaced Playwright with Scrapling's fetchers in the web crawling and YouTube processing modules for improved performance and flexibility.
- Updated proxy configuration to support dynamic proxy selection via environment variables.
- Enhanced logging to track performance metrics during web scraping operations.
- Refactored related modules to utilize the new proxy utilities and streamline the scraping process.
2026-06-09 00:15:10 -07:00
Anish Sarkar
f5289b38b9 Merge remote-tracking branch 'upstream/dev' into feat/docker-optimization 2026-06-06 19:09:38 +05:30
Anish Sarkar
f0ef3c02ac feat(pyproject): add support for CUDA 12.6 in optional dependencies
- Introduced a new optional dependency group for CUDA 12.6 in pyproject.toml.
- Updated conflict resolution to include CUDA 12.6 alongside existing configurations.
- Added source configurations for PyTorch and torchvision for CUDA 12.6.
2026-06-05 22:25:32 +05:30
Anish Sarkar
6972356c86 feat(docker): enhance CUDA support in Dockerfile and pyproject.toml
- Updated Dockerfile to conditionally install PyTorch with CPU or CUDA support based on build arguments.
- Added optional dependencies for CPU and CUDA versions of PyTorch in pyproject.toml.
- Configured uv.lock to manage dependencies and conflicts between CPU and CUDA installations.
2026-06-05 21:46:09 +05:30
CREDO23
f3ed1b85d0 test: switch pytest to importlib import mode 2026-06-03 21:52:54 +02:00
CREDO23
7753a238ef chore(backend): add azure-storage-blob dependency 2026-06-02 16:10:43 +02:00
Anish Sarkar
e3de7c4667 Merge remote-tracking branch 'upstream/dev' into feat/whatsapp-gateway-integration 2026-06-02 00:29:32 +05:30
DESKTOP-RTLN3BA\$punk
3b5cc22f94 feat(release): bump version to 0.0.26
- Updated version number to 0.0.26 in VERSION, pyproject.toml, and package.json files for browser, desktop, and web components.
- Ensured consistency in versioning across the project.
2026-05-31 17:59:49 -07:00
Anish Sarkar
69abf0d916 feat: add python-telegram-bot dependency to project 2026-05-27 23:28:34 +05:30
CREDO23
f08b316441 add next_fire_at to automation_triggers and croniter dep 2026-05-27 17:55:58 +02:00
Anish Sarkar
98e3950dc8 Merge remote-tracking branch 'upstream/dev' into feat/opentelemetry 2026-05-23 03:21:08 +05:30
DESKTOP-RTLN3BA\$punk
2e589091d8 feat: bumped version to 0.0.25 2026-05-21 14:44:33 -07:00
Anish Sarkar
2fd05d720e chore: add OpenTelemetry dependencies and update lock file 2026-05-21 17:23:41 +05:30
DESKTOP-RTLN3BA\$punk
ed22da7b95 feat: bumped version to 0.0.24 2026-05-20 03:01:37 -07:00
DESKTOP-RTLN3BA\$punk
499c6be099 feat: bumped version to 0.0.23
Some checks failed
Build and Push Docker Images / tag_release (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Has been cancelled
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Has been cancelled
2026-05-05 19:21:43 -07:00
DESKTOP-RTLN3BA\$punk
0b4bd50bce feat: bumped version to 0.0.22 2026-05-04 21:08:08 -07:00
DESKTOP-RTLN3BA\$punk
4bbf2dac95 feat: version bump 2026-05-04 03:16:15 -07:00
DESKTOP-RTLN3BA\$punk
cab1dd6fb2 fix: docker issues 2026-05-03 00:39:27 -07:00
DESKTOP-RTLN3BA\$punk
30d06affdc chore: bumped version to 0.0.20 2026-05-02 23:40:44 -07:00
DESKTOP-RTLN3BA\$punk
e57c3a7d0c feat: prompt caching
Some checks are pending
Build and Push Docker Images / tag_release (push) Waiting to run
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Blocked by required conditions
- Updated `litellm` dependency version from `1.83.4` to `1.83.7`.
- Adjusted `aiohttp` version from `3.13.5` to `3.13.4` in the lock file.
- Implemented `apply_litellm_prompt_caching` in `chat_deepagent.py` to improve prompt caching.
- Added model name resolution logic in `chat_deepagent.py` to ensure correct provider-variant dispatch.
- Enhanced `llm_config.py` to configure prompt caching for various LLM providers.
- Updated tests to verify correct model name forwarding and prompt caching behavior.
2026-05-01 05:10:53 -07:00
DESKTOP-RTLN3BA\$punk
bd2d6c07ff fix: summarization middleware usage 2026-04-21 22:13:41 -07:00
DESKTOP-RTLN3BA\$punk
2b6c39ad6a chore: another bump
Some checks are pending
Build and Push Docker Images / tag_release (push) Waiting to run
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Blocked by required conditions
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Blocked by required conditions
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Blocked by required conditions
2026-04-21 02:32:50 -07:00
DESKTOP-RTLN3BA\$punk
5ce7d52aa6 chore: bumped version 2026-04-21 02:14:42 -07:00
DESKTOP-RTLN3BA\$punk
3f30b12bd4 feat: bumped version to v0.0.17 2026-04-21 01:38:52 -07:00
DESKTOP-RTLN3BA\$punk
e7fba022c1 chore: bumped version to 0.0.16 2026-04-16 01:18:03 -07:00
DESKTOP-RTLN3BA\$punk
29b1a9981e feat: bumped version to 0.0.15 2026-04-08 16:17:37 -07:00
Anish Sarkar
6038f6dfc0 Merge remote-tracking branch 'upstream/dev' into feat/azure-ocr 2026-04-08 05:00:32 +05:30
Anish Sarkar
73a9c5fbd1 chore: add azure-ai-documentintelligence dependency 2026-04-07 23:53:19 +05:30
DESKTOP-RTLN3BA\$punk
323886b481 security : CVE-2026-35030 fix 2026-04-06 21:39:14 -07:00
DESKTOP-RTLN3BA\$punk
529af2be39 feat: bumped version to 0.0.14 2026-03-31 21:45:18 -07:00
DESKTOP-RTLN3BA\$punk
a9fd45844d feat: integrate Stripe for page purchases and reconciliation tasks 2026-03-31 18:39:45 -07:00
DESKTOP-RTLN3BA\$punk
2cc2d339e6 feat: made agent file sytem optimized 2026-03-28 16:39:46 -07:00
DESKTOP-RTLN3BA\$punk
685ad0c02d feat: add folder management features including creation, deletion, and organization of documents within folders 2026-03-27 01:39:15 -07:00
Anish Sarkar
5c598e8588 Merge remote-tracking branch 'upstream/dev' into feat/human-in-the-loop 2026-03-22 15:45:45 +05:30
DESKTOP-RTLN3BA\$punk
43c9a09a6c chore: add daytona dependency to pyproject.toml and update uv.lock 2026-03-22 01:55:56 -07:00
Anish Sarkar
77cc2af14f Merge remote-tracking branch 'upstream/dev' into feat/human-in-the-loop 2026-03-21 13:17:24 +05:30
DESKTOP-RTLN3BA\$punk
755f8b71fe secutiry: CVE-2026-32597 fix 2026-03-17 23:39:07 -07:00
DESKTOP-RTLN3BA\$punk
9da3384c43 security: a couple of CVE fixes
- Added authlib version 1.6.9 and tornado version 6.5.5 to the project dependencies.
- Updated authlib version in uv.lock to 1.6.9 with corresponding source and wheel URLs.
- Included tornado in the dependencies section of uv.lock for consistency.
2026-03-17 23:37:27 -07:00
Anish Sarkar
0b8bee0076 feat: integrate notion-markdown for markdown conversion in NotionHistoryConnector
- Added notion-markdown dependency to pyproject.toml.
- Refactored _markdown_to_blocks method to utilize notion-markdown for converting markdown content to Notion blocks.
- Updated create-notion-page component to replace Loader2Icon with Spinner for improved loading indication.
2026-03-17 23:42:26 +05:30
DESKTOP-RTLN3BA\$punk
001b2c9094 chore: remove unused dependencies 'mmdc' and 'phasma' from project configuration 2026-03-10 14:11:31 -07:00
DESKTOP-RTLN3BA\$punk
11b84a3fb4 feat: expand report export functionality to support multiple formats (PDF, DOCX, HTML, EPUB, etc.) and enhance UI for format selection 2026-03-09 18:31:14 -07:00
Anish Sarkar
87711ee381 chore: clean up .env.example and pyproject.toml
- Removed commented-out testing configuration from .env.example to streamline the file.
- Updated markers in pyproject.toml to remove the e2e test marker, clarifying the purpose of the remaining markers.
2026-02-26 23:56:01 +05:30
Anish Sarkar
9ccee054a5 chore: ran linting 2026-02-26 03:05:20 +05:30