Commit Graph

231 Commits

Author SHA1 Message Date
backryun
eba07d8918 chore: tidy up deprecated models from windsurf provider (#2279)
Integrated into release/v3.8.0 — removes deprecated Windsurf models and adds gemini-3.1-pro-low to Cascade list
2026-05-15 10:47:39 -03:00
ddarkr
4f80be1f2f fix(providers/command-code): send required stream payload (#2271)
- Force skills: "" and params.stream: true in Command Code wrapper
- Align validation probe payload with upstream-required shape
- Default validation model to deepseek/deepseek-v4-flash

Co-authored-by: ddarkr <ddarkr@users.noreply.github.com>
2026-05-15 03:25:22 -03:00
backryun
c6b269a4d5 node dependency updates (#2259)
chore: node dependency updates (#2259 — thanks @backryun)
2026-05-14 20:20:54 -03:00
diegosouzapw
57a80b6c1a fix(providers/blackbox-web): BLACKBOX_WEB_VALIDATED_TOKEN env override (#2252)
Blackbox's `/api/chat` now rejects requests whose `validated` field
doesn't match the frontend `tk` token (exported from app.blackbox.ai's
Next.js bundle), returning HTTP 403 even when the session cookie is
valid and the subscription is active. The previous executor sent a
random UUID, which works only until Blackbox enforces the check.

This change:

- Adds `resolveBlackboxValidatedToken()` that returns
  `BLACKBOX_WEB_VALIDATED_TOKEN` when set, otherwise falls back to the
  legacy random UUID (no regression for users who already work).
- Detects 403 responses whose body indicates a token-specific failure
  ("invalid validated token", "validation token", etc.) and replaces
  the generic "cookie expired" message with explicit guidance to set
  BLACKBOX_WEB_VALIDATED_TOKEN. The cookie-expired path is preserved
  for non-token 401/403.
- Documents the env var in `.env.example` and
  `docs/reference/ENVIRONMENT.md` (env-doc-sync check passes).

Deliberately NOT included: runtime scraping of Blackbox's Next.js
chunks to auto-extract `tk`. That coupling to their bundle hash would
silently break on every frontend deploy — the env override is the
stable path for operators who have already resolved the token.

Reported by @kazimshah39 with detailed root-cause analysis.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 13:00:15 -03:00
diegosouzapw
1a39c31ff4 fix(security): mask public upstream creds + centralize error sanitization
Embed Gemini, Antigravity and Windsurf public OAuth/Firebase identifiers
(extracted from upstream CLI binaries) through a XOR-masked byte sequence
in open-sse/utils/publicCreds.ts instead of source literals, so pattern
scanners (GitHub Secret Scanning, Semgrep) stop raising false positives on
every release. decodePublicCred passes raw values through unchanged for
users who already have plaintext in their .env (no migration needed).

- New utils/publicCreds.ts with decode/encode + tests
- Replace 6 hardcoded Google client_id/secret in oauth.ts + providerRegistry
- Drop literals from .env.example (comment-only documentation)
- Sanitize error messages inside buildErrorBody so every caller (incl.
  createErrorResult) is covered; cursor.ts now reuses the shared helper
- Cover the new helpers with unit tests (publicCreds + error sanitization)

Resolves the open code-scanning js/stack-trace-exposure findings and the
secret-scanning Google API Key alert without breaking existing setups.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 10:36:42 -03:00
Dohyun Jung
1b14b5b012 fix(providers/command-code): fix validation request format for Command Code API (#2243)
Integrated into release/v3.8.0 — Command Code validation now sends correct external environment and stream=false.
2026-05-14 08:06:55 -03:00
diegosouzapw
831f64ed38 test: fix post-merge test breakages from #2227 #2233 #2238
- antigravity: AntigravityCredentials.projectId widened to string|null
  to match base ProviderCredentials shape post-#2227 squash merge.
- responses-handler: heartbeat assertion updated for #2233's new
  openai-responses-in-progress shape (was: keepalive comment).
- search-registry: expected count is now 12 (ollama-search +
  zai-search both landed in this release).
2026-05-14 06:19:02 -03:00
Vitalii
0c3d33899d Fix Azure AI Foundry provider connection handling (#2236)
Integrated into release/v3.8.0 with unit tests for Azure-AI /responses routing
2026-05-14 05:53:26 -03:00
diegosouzapw
bf83aa55de feat(antigravity): support custom Google Cloud project ID (#2227)
Co-authored-by: nickwizard <nickwizard@users.noreply.github.com>
2026-05-14 05:11:24 -03:00
Dohyun Jung
fc620514a9 feat(providers): add Command Code provider (#2199)
Integrated into release/v3.8.0 after syncing the contributor branch, removing unrelated workflow/package-lock changes, and validating Command Code provider, auth, validation, and Responses coverage locally.
2026-05-12 19:57:35 -03:00
Anton
a408b30896 fix(cliproxyapi): probe /v1/models for health (CPA 6.x has no /health) (#2189)
Integrated into release/v3.8.0 after syncing the contributor branch and validating tests/unit/cliproxyapi-executor.test.ts locally.
2026-05-12 19:50:07 -03:00
Anton
607ae5ca5e fix(cliproxyapi): detect Anthropic shape on minimal Capy bodies (#2192)
Integrated into release/v3.8.0 after syncing the contributor branch and validating tests/unit/cliproxyapi-executor.test.ts locally.
2026-05-12 19:43:04 -03:00
Aleksandr
ff730b372e feat(oauth): complete Windsurf / Devin CLI OAuth + API-token flows (#2168)
Integrated into release/v3.8.0 — complete Windsurf/Devin CLI OAuth + API-token executor flows with unit tests.
2026-05-11 21:49:32 -03:00
Anton
704f686396 fix(cliproxyapi): Anthropic-shape body routing and gate compatibility (#2165)
Integrated into release/v3.8.0 — three fixes for CliProxyApi: Anthropic-shape body routing to /v1/messages, Capy premium extras strip, and mcp_* tool name rewrite to avoid Anthropic gate. Tests added covering all three categories.
2026-05-11 21:23:59 -03:00
Anton
25199b20fe fix(executors): sanitize reasoning_effort for non-supporting providers (#2162)
Integrated into release/v3.8.0 — adds sanitizeReasoningEffortForProvider hook to BaseExecutor, fixing xhigh→high downgrade for non-supporting providers and full strip for mistral/devstral and GitHub Claude models.
2026-05-11 21:02:28 -03:00
diegosouzapw
0594b1d2ea fix(providers): correct pollinations requests and provider dashboard state
Update Pollinations request transformation to send the selected model
and stream flag so requests match the active endpoint behavior.

Align the ChatGPT TLS client with shared proxy resolution so dashboard
proxy context is honored before falling back to environment settings.
Also refresh provider display names across dashboard pages, correct the
Claude extra-usage toggle messaging and visual state, and mark
Pollinations as offering a free public endpoint.
2026-05-11 15:51:05 -03:00
backryun
6e2c5e2d4c chore(models): tidy up alibaba-coding-plan and cursor provider (#2150)
Integrated into release/v3.8.0 — tidies up Alibaba Coding Plan and Cursor provider model catalogs
2026-05-11 10:08:34 -03:00
diegosouzapw
bbecbccb0a fix(cli): harden setup, doctor, and backup workflows
Hide admin password entry during setup, make doctor degrade to warnings
when source-only runtime checks are unavailable, and improve stop
behavior by attempting graceful shutdown before force killing ports.

Also use SQLite's backup API for safer snapshots under WAL, align CLI
key writes with the current provider_connections schema, and include
follow-on compatibility fixes for GLM provider detection, stream error
sanitization, and auth-aware test coverage.
2026-05-11 09:13:49 -03:00
diegosouzapw
fa1295d3cf Merge remote-tracking branch 'origin/release/v3.8.0' into bugs/2120_docker
# Conflicts:
#	open-sse/executors/antigravity.ts
#	open-sse/services/accountFallback.ts
#	open-sse/services/usage.ts
#	open-sse/translator/helpers/geminiHelper.ts
#	open-sse/utils/error.ts
#	src/lib/db/apiKeys.ts
2026-05-10 21:22:21 -03:00
diegosouzapw
40bd60959e refactor(core): strengthen typing and normalize auth and model flows
Tighten executor, usage, model-resolution, and state-management
code with explicit types and safer record handling to reduce runtime
edge cases across providers.

Also normalize management-token failures to 403 responses, require API
keys consistently on cloud agent task routes with CORS-safe errors,
refresh stale Gemini CLI project IDs, prioritize Gemini search tools
correctly, add new provider/model registry entries, and serialize
integration tests for more reliable CI.
2026-05-10 20:48:03 -03:00
Markus Hartung
bff9a0c4a6 refactor: improve type safety and add cloud agent providers
- Update types in several files to reduce usage of `any`
- Fix `fetch` body type error in `AntigravityExecutor` by returning `ReadableStream`
- Add `CLOUD_AGENT_PROVIDERS` constants

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 00:41:36 +02:00
diegosouzapw
12b254097b security: fix code scanning alerts — sanitize error messages and suppress false-positive hash warnings
- Sanitize error messages in errorResponse() and cursor buildErrorResponse() to strip stack traces before sending to client (fixes js/stack-trace-exposure)
- Add explicit CodeQL suppression comments for intentional SHA-256 usage in API key hashing (fast O(1) lookup, not password storage) and deterministic UUID generation (fixes js/insufficient-password-hash false positives)
2026-05-10 10:41:16 -03:00
diegosouzapw
73bda23c60 chore(release): finalize v3.8.0 stabilization and fix typescript regressions
- Fix stream readiness loop and upstream error code propagation in chatCore.ts

- Resolve Headers iterator TypeScript errors

- Fix type mismatches and missing props in BuilderIntelligentStep, Card, and providers page

- Fix providerLimits typecasts and resolve implicit any errors

- Ensure green build and strict type compliance for production
2026-05-10 09:10:43 -03:00
diegosouzapw
5731541bad chore(security): apply CodeQL fixes to release branch 2026-05-10 01:37:17 -03:00
Raxxoor
a8106bbadd fix(glm): add dedicated coding transport (#2087)
Integrated into release/v3.8.0
2026-05-10 00:52:00 -03:00
payne
d06d1ae49c feat(cursor): full OpenAI parity (tool calls, streaming, sessions) (#2082)
Merged automatically
2026-05-10 00:00:18 -03:00
backryun
09733e4906 Refresh providers, model catalogs, and docs for v3.8.0 (#2088)
Merged automatically
2026-05-10 00:00:11 -03:00
Raxxoor
4f202f3fa5 fix(antigravity): sanitize Claude Cloud Code payloads (#2090)
Integrated into release/v3.8.0
2026-05-09 21:36:00 -03:00
diegosouzapw
3de0c84d1d fix(providers): strip OpenAI-specific fields in Kiro translator to prevent 400 errors (#2037) 2026-05-09 21:05:08 -03:00
diegosouzapw
a21aa1f53c fix(sse): prevent Claude Code identity cloak overrides and fix fallback resilience (#2053) 2026-05-08 17:44:30 -03:00
diegosouzapw
ad966b15f2 fix(core): restore Claude Code adaptive thinking defaults and resolve audio transcription CORS regression
- Restored default adaptive thinking injection for non-Haiku Claude Code models when explicit client headers are omitted.
- Updated Claude OAuth unit tests to accurately account for dynamic cliUserID property injection in mapped credentials.
- Fixed module resolution regression in audio transcription handler caused by missing getCorsOrigin utility.
2026-05-08 16:37:36 -03:00
diegosouzapw
4331e129ab chore(release): v3.8.0 — optimize cache control preservation and align Antigravity provider 2026-05-08 16:19:04 -03:00
ivan-mezentsev
afdebbc793 fix(sse): use Gemini schema for Antigravity Claude (#2063)
Integrated into release/v3.8.0
2026-05-08 15:57:41 -03:00
ivan_yakimkin
f09c2d6b87 refactor: address PR review feedback 2026-05-08 11:53:46 +03:00
ivan_yakimkin
16febc0510 fix(antigravity): add duplex half for streaming bodies 2026-05-08 11:32:07 +03:00
ivan_yakimkin
cababfe58a fix(antigravity): align identity protocol and behavior with official AM 2026-05-08 11:20:32 +03:00
ivan_yakimkin
31da6a09a1 debug: add AG_REQUEST_HEADERS and AG_REQUEST_ENVELOPE debug logs
Dumps outgoing headers (with masked Authorization) and envelope
structure (fieldOrder, project, requestId, userAgent, requestType,
enabledCreditTypes, sessionId, generationConfig) at debug level
for production verification of identity overhaul.
2026-05-08 10:39:43 +03:00
ivan_yakimkin
f1af90e97e feat(antigravity): overhaul identity, fingerprinting & envelope format
- Add centralized antigravityIdentity service (sessionId, machineId, requestId)
- Switch User-Agent to Electron/Chrome desktop format
- Reorder upstream URLs: sandbox first, production last
- Add runtime headers: x-client-name, x-client-version, x-machine-id, x-vscode-sessionid, x-goog-user-project
- Add 403 retry without x-goog-user-project header
- Add generation defaults (topK=40, topP=1.0, maxOutputTokens guard)
- Strip cache_control from Claude requests recursively
- Enterprise/consumer routing via userAgent field (jetski vs antigravity)
- Update envelope field order and add enabledCreditTypes
- MITM proxy: support multiple target hosts
- Version: semver comparison with pickNewestVersion(), bump fallback to 4.1.33
- Update all affected tests
2026-05-07 18:14:55 +03:00
diegosouzapw
a430381434 chore: apply review suggestions and missing layers 2026-05-07 08:50:39 -03:00
Tentoxa
eb2579ec0a feat(sse): refresh Claude OAuth wire image to claude-cli/2.1.131 (#2011)
Integrated into release/v3.8.0
2026-05-07 08:49:12 -03:00
wauputr4
667ce4db06 fix: address kie provider pr review 2026-05-07 01:20:09 +07:00
wauputr4
a591b4fc4b merge main into kie media provider branch 2026-05-07 00:23:27 +07:00
wauputr4
f1cd77472c fix: address kie provider review feedback 2026-05-07 00:01:54 +07:00
wauputr4
770aa1b123 feat: add kie media provider support 2026-05-06 23:23:41 +07:00
nickwizard
d7eb92be5a feat(gemini-cli): add custom projectId support (UI, DB, executor) (#1991)
Integrated into release/v3.8.0
2026-05-06 08:58:43 -03:00
diegosouzapw
171081dbbb fix(core): harden input handling and compression cleanup
Replace regex-based compression artifact cleanup with linear helpers to
avoid pathological backtracking and normalize whitespace safely.
Tighten request and response parsing in assess, Gemini translation, and
executor telemetry to avoid unsafe property access and invalid category
filtering.

Also add managed database backup support for legacy encrypted
connection migration, improve SQLite load error handling, and cover the
regressions with unit tests.
2026-05-06 02:29:25 -03:00
diegosouzapw
afe4b19588 fix: resolve analytics tracking issues, provider alias mapping, and fallback calculation 2026-05-05 01:17:52 -03:00
diegosouzapw
bf96e704ff test(antigravity): update claude bridge tests for native payload structure 2026-05-04 23:26:55 -03:00
diegosouzapw
da089b09f6 fix(antigravity): bypass gemini mapping for claude models on vertex ai 2026-05-04 23:11:03 -03:00
diegosouzapw
d07313333f fix: map max_completion_tokens for openai, fix kiro status, export sessionAffinity
Fixes #1961
Fixes #1932
2026-05-04 22:33:30 -03:00