Commit Graph

16 Commits

Author SHA1 Message Date
can1357 1a8caad23e chore: update docs + rename reset to clear 2026-08-03 18:37:23 +02:00
can1357 ebd5e3f86f chore: update stale docs 2026-08-03 16:39:23 +02:00
Wolfgang Schoenberger 031beb1751 docs(auth): correct credential precedence
(cherry picked from commit 33ede5efbc52cedc9819cb65c642cfeab82c337c)
2026-07-29 23:09:09 +02:00
iacore dab5934548 feat(catalog,ai): add SiliconFlow providers with dynamic-only model discovery
Adds siliconflow and siliconflow-cn OpenAI-compatible providers
(api.siliconflow.com / api.siliconflow.cn), with the model list fetched
live from each region's /v1/models endpoint instead of a bundled
catalog (dynamicModelsAuthoritative, no models.dev mapping).

SiliconFlow's /v1/models serves every model type (chat, embedding,
reranker, image, audio, video) with no per-model type field, so
discovery filters non-chat ids out of the picker. The filter was
validated against the live catalog to match the server's own
type=text&sub_type=chat classification exactly (64/64, no false
drops, no false keeps).

Wires SILICONFLOW_API_KEY / SILICONFLOW_CN_API_KEY into env-key
discovery and registers API-key login providers so
`omp login siliconflow` / `omp login siliconflow-cn` stores a
credential validated against each region's /v1/models endpoint.
2026-07-27 13:06:50 +08:00
Will 2a0d819e7c fix(ai): scope OpenAI Codex credential identity by ChatGPT workspace
One ChatGPT email can hold several workspaces (a personal Plus/Pro plan
plus Team/Enterprise seats), each with its own workspace-scoped OAuth
token and independent limit pools. Codex credentials were deduped by
bare email, so logging into the second workspace silently replaced the
first, and usage reports from the two pools merged into one row.

- capture the workspace (chatgpt_account_id) as orgId at login, with
  the plan type as its display label; token refreshes never rewrite it
- key openai-codex credential identity as email + org via the existing
  org-scoped machinery; legacy email-keyed rows are claimed in place by
  the first workspace-scoped login, and workspace-less credentials
  never clobber workspace-scoped rows
- exclude the org-mirroring account base from same-org row claims so
  two members of one workspace (shared chatgpt_account_id) keep
  separate rows
- partition usage-report dedupe by workspace and require every shared
  identity dimension to agree when reconciling codex usage blocks

Fixes the openai-codex half of #2966 (anthropic half shipped in #5170);
also covers the #633 scenario.
2026-07-19 22:45:16 -04:00
chan1103 044d722a36 fix(ai): scope Anthropic credential identity by organization
One Anthropic account email can hold multiple organizations (a Team seat
plus a personal Max plan), each with its own org-scoped OAuth token and
independent 5h/7d limit pools. Credentials were deduped by bare email, so
logging in with the second subscription silently replaced the first, and
usage reports from the two pools merged into one row with mixed numbers.

- capture organization uuid/name at login (token exchange response, with
  a claude_cli/bootstrap fallback); token refreshes never rewrite it
- key anthropic credential identity as email + org; a legacy email-keyed
  row is claimed in place by the first org-scoped login with the same
  email, and org-less credentials never clobber org-scoped rows
- partition usage-report dedupe and the per-credential usage cache by
  org so the two subscriptions' limit pools stay distinct for rotation
- show the organization in omp usage (redaction-safe) and name the
  stored account/org in the login success message
2026-07-11 22:49:12 +09:00
can1357 68c3c7ea9d docs(providers): documented novita support 2026-07-10 12:08:44 +02:00
oldschoola 13bfc7b9c0 Remove Wafer Pass provider 2026-06-21 02:45:48 +02:00
can1357 d4317d3d20 feat(ai): consolidated OpenAI-family streaming and add OpenRouter API support
This change introduces a new `openrouter` API type and extensively refactors OpenAI-family streaming providers, centralizing shared logic and improving robustness.

Key changes include:
- **Unified OpenAI-family Logic:** Consolidated core utilities, compat resolution, request shaping, and stream processing into `openai-shared.ts`, reducing duplication across `openai-completions`, `openai-responses`, and `openai-codex-responses`.
- **OpenRouter API Type:** Introduced a dedicated `openrouter` API type with dual-surface compatibility, allowing it to dispatch requests as either OpenAI Chat Completions or Responses.
- **Enhanced Provider Integration:**
    - Improved Perplexity search to leverage shared OpenAI streaming transports, including API-key fallback to OpenRouter and support for Perplexity's Responses API.
    - Integrated xAI-specific logic directly into the shared `stream.ts` dispatch, removing the dedicated `xai-responses` provider.
    - Refined credential parsing for Google Gemini CLI and handling of Azure deployment names.
- **Robustness & Consistency:** Improved error handling for Codex, standardized output token parameter resolution, and ensured consistent application of reasoning suppression across all Chat Completions dialects.
- **New Documentation:** Added `provider-endpoint-constraints.md` to detail endpoint-specific behaviors and quirks for various providers.
- **Telemetry & Debugging:** Extended telemetry propagation to advisor calls and overflow compaction tasks. Improved debugging for Codex WebSocket failures and stream error messages.
- **Tooling & Security:** Updated browser stealth scripts to prevent detection and added a new `ts-no-inline-cast-access` TTSR rule.
2026-06-17 21:36:48 +02:00
Can Bölük b7fe6f61a1 Merge branch 'main' into fix/litellm-base-url 2026-06-17 11:37:28 +02:00
can1357 d5b3c78132 chore: update docs 2026-06-17 04:37:39 +02:00
Alexander Kirilin 11e6eb0c2c fix(litellm): support LITELLM_BASE_URL 2026-06-16 20:54:55 -04:00
oldschoola 7d721dc420 Add Umans AI Coding Plan provider 2026-06-15 03:58:20 -07:00
roboomp c1a8ff1a81 docs: replaced --list-models references with the omp models subcommand
- docs/models.md: retitled the '/model and --list-models' section and
  updated the bullet to describe 'omp models' plus 'omp models canonical'.
- docs/providers.md: updated the troubleshooting note to validate
  models.yml with 'omp models' (and 'omp models find <substr>').
- packages/coding-agent/CHANGELOG.md: noted the doc fix under Unreleased.

Fixes #2458
2026-06-13 17:33:29 +00:00
can1357 45e4d17aaf docs: documented context, provider, and settings loading precedence
- Documented context auto-discovery at session start and native `.omp` sticky rules.
- Documented provider model availability checks with credential-source precedence.
- Documented `@` context import resolution, recursion limits, punctuation trimming, and cycle handling.
- Documented project/global settings precedence, merge semantics, and one-shot overlay behavior.
2026-06-13 14:17:23 +02:00
roboomp 0ae7fd766e docs: documented project settings and disabled providers
Added user-facing settings, providers, and context-file documentation for project config precedence, project-local settings files, disabledProviders model-provider behavior, and path-scoped provider settings.

Fixes #2447
2026-06-13 09:10:16 +00:00