Commit graph

7183 commits

Author SHA1 Message Date
CREDO23
4e77b8397e docs(revamp): reshape Orchestration into Phase 7 2026-07-01 00:11:04 +02:00
CREDO23
e5d670c609 docs(revamp): reshape Triggers into Phase 6 2026-07-01 00:10:14 +02:00
CREDO23
5c2428541d docs(revamp): reshape Intelligence into Phase 5b 2026-07-01 00:09:32 +02:00
CREDO23
3b92e40bf6 docs(revamp): reshape Timeline into Phase 5a 2026-07-01 00:08:28 +02:00
CREDO23
129e9039a8 docs(revamp): reshape Access into Phase 4b 2026-07-01 00:07:39 +02:00
CREDO23
d472693aac docs(revamp): reshape Capabilities into Phase 4a 2026-07-01 00:06:46 +02:00
CREDO23
d5df87dafd docs(revamp): rename primitive to Tracker, subagent to intelligence_agent 2026-06-30 23:54:11 +02:00
CREDO23
3aeecc315a docs(revamp): correct CI uploads to land in KB (folder-scoped) 2026-06-30 23:42:52 +02:00
CREDO23
dc6864d8d4 docs(revamp): complete overview (reconciliation, sequence, decisions) 2026-06-30 23:38:44 +02:00
CREDO23
d69be56ddb docs(revamp): add Orchestration domain (CI-expert subagent) 2026-06-30 23:38:02 +02:00
CREDO23
5d93d46f5d docs(revamp): add Triggers domain (recurrence via automations action) 2026-06-30 23:38:02 +02:00
CREDO23
89ad2cd992 docs(revamp): add Timeline domain (3-store delta moat) 2026-06-30 23:38:02 +02:00
CREDO23
a15cd8953a docs(revamp): reuse run-record/idempotency + add CI context folder 2026-06-30 23:37:55 +02:00
CREDO23
04fa89fd4c docs(revamp): add Intelligence domain (Lens + hot loop) 2026-06-30 23:37:10 +02:00
CREDO23
f13a17d3df docs(revamp): make natural language the human surface (intent router) 2026-06-30 23:36:23 +02:00
CREDO23
a5fc8c2b7d docs(revamp): add Access domain (chat/REST/MCP doors) 2026-06-30 23:35:42 +02:00
CREDO23
297a53efa6 docs(revamp): add Capabilities domain (typed verbs) 2026-06-30 23:35:11 +02:00
CREDO23
10801058c5 docs(revamp): add CI pivot overview & domain map 2026-06-30 23:35:05 +02:00
DESKTOP-RTLN3BA\$punk
15fd0b08d6 feat: completed init mvp of phase 3 2026-06-30 03:02:40 -07:00
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
aad366ba13 chore: sync plans (03c@17bdb0682 implemented)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 21:41:26 -07:00
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
DESKTOP-RTLN3BA\$punk
a517eb7d2d chore: sync plans (03a@5c36cd3, 03b@6226012 implemented)
Mark 03a/03b status banners with their commit SHAs in the subplans and umbrella plan.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 21:04:17 -07:00
DESKTOP-RTLN3BA\$punk
62260125f7 feat(03b): add BYO custom proxy provider + bounded crawler rotation-retry
Add CustomProxyProvider (single endpoint or rotating pool via Scrapling ProxyRotator), registered as 'custom' alongside anonymous_proxies and selectable via PROXY_PROVIDER. Adds is_pool_backed to the ProxyProvider ABC + a zero-arg package helper. The web crawler does a bounded one-per-tier is_proxy_error rotation-retry gated on is_pool_backed() (single-endpoint providers no-op). Config/.env.example gain CUSTOM_PROXY_URL(S). Zero-arg getter contract unchanged for all consumers. Documents the proprietary boundary test (generic proxy infra stays Apache-2). Tests: provider, registry, crawler rotation (16).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 21:03:34 -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
34ab23f5d8 chore: synced plans 2026-06-29 18:26:29 -07:00
Rohan Verma
96b18af607
Merge pull request #1562 from MODSetter/feat/rename-searchspace-to-workspace
feat: rename searchspace to workspace
2026-06-29 17:58:07 -07:00
DESKTOP-RTLN3BA\$punk
2836654701 Merge commit '683a7d3bc2' into feat/rename-searchspace-to-workspace 2026-06-29 17:55:15 -07:00
DESKTOP-RTLN3BA\$punk
683a7d3bc2 Merge commit 'd0664f3dd6' into ci_mvp 2026-06-29 17:53:29 -07:00
DESKTOP-RTLN3BA\$punk
d12f39a7e2 feat: updated plans with test statergy 2026-06-29 17:50:24 -07:00
Rohan Verma
d0664f3dd6
Merge pull request #1560 from mvanhorn/refactor/1363-delete-notes-api-service
refactor: delete unused notesApiService orphan API module
2026-06-29 17:47:46 -07:00
Rohan Verma
deec7f0d01
Merge pull request #1559 from yagitoshiro/fix/ime-enter-submit-chat
fix(web): don't submit chat on Enter during IME composition
2026-06-29 17:47:04 -07:00
Rohan Verma
32951ac141
Merge pull request #1543 from DhruvTilva/fix/codeblock-interior-line-indentation
fix: prevent spurious leading spaces in nested codeBlock interior lines
2026-06-29 17:45:21 -07:00
Rohan Verma
d22131185f
Merge pull request #1542 from DhruvTilva/fix/multilingual-embedding-truncation
fix: use token-safe truncation for document embeddings
2026-06-29 17:44:55 -07:00
Matt Van Horn
9b2f880e3c
refactor: delete unused notesApiService orphan API module 2026-06-29 00:49:30 -07:00
yagitoshiro
24ff4b7d93 fix(web): don't submit chat on Enter during IME composition
The chat composers submit on Enter without checking whether an IME
composition is active. For Japanese/Chinese/Korean input, pressing Enter
to confirm a conversion fires the submit handler and sends a half-typed
message. Guard the Enter handlers with e.nativeEvent.isComposing in the
main chat editor, the anonymous free composer, and the mention/prompt
picker key navigation.
2026-06-28 13:13:46 +09:00
CREDO23
7a38614e07 docs(plans): record as-built state + re-runnable verification for Phase 2 (backend rename)
Add a top status banner (SHIPPED, branch/PR, phase tip commit) and an
Implementation record (deviations, carve-outs as-shipped, re-runnable
verification gates, deploy caveats) to 02-rename-backend.md.
2026-06-27 22:24:41 +02:00
CREDO23
2acdf42661 docs(plans): record as-built state + re-runnable verification for Phase 1 (DB rename)
Add a top status banner (SHIPPED, branch/PR, phase tip commit) and an
Implementation record (deviations, carve-outs as-shipped, re-runnable
verification gates with last results) to 01-rename-db.md.
2026-06-27 22:24:41 +02:00
DESKTOP-RTLN3BA\$punk
79dca6a5b9 Merge commit '7093b4d4d0' into ci_mvp 2026-06-26 19:55:44 -07:00
Rohan Verma
7093b4d4d0
Merge pull request #1549 from MODSetter/dev
fix(docker): add reverse proxy for zero sync auth context in Caddyfile
2026-06-26 12:26:13 -07:00
DESKTOP-RTLN3BA\$punk
8e73eba238 Merge commit '14352d6f37' into dev 2026-06-26 12:24:50 -07:00
DESKTOP-RTLN3BA\$punk
2e4959f947 fix(docker): add reverse proxy for zero sync auth context in Caddyfile 2026-06-26 12:24:12 -07:00
Rohan Verma
14352d6f37
Merge pull request #1548 from MODSetter/dev
fix(docker): add proxy directory and Caddyfile to win installation script
2026-06-26 12:03:45 -07:00
DESKTOP-RTLN3BA\$punk
3556d43c53 Merge commit 'cdc7c8ff7f' into dev 2026-06-26 12:01:28 -07:00
DESKTOP-RTLN3BA\$punk
b4e8aa0a1c feat(docker): add proxy directory and Caddyfile to installation script 2026-06-26 12:00:50 -07:00
Rohan Verma
cdc7c8ff7f
Merge pull request #1547 from MODSetter/dev
feat(hotpatch): fix migration 168
2026-06-26 11:31:50 -07:00
DESKTOP-RTLN3BA\$punk
47e4dd9403 Merge commit '2148053569' into dev 2026-06-26 11:30:37 -07:00
DESKTOP-RTLN3BA\$punk
ab7d138b32 feat(hotpatch): fix migration 168 2026-06-26 11:30:06 -07:00
Rohan Verma
2148053569
Merge pull request #1544 from AnishSarkar22/fix/login-button
feat: update authentication defaults to LOCAL
2026-06-26 11:06:22 -07:00
Anish Sarkar
e6fa9f177e
Merge pull request #1545 from AnishSarkar22/fix/auth-session
fix(auth): centralize session refresh retry handling
2026-06-26 22:43:59 +05:30