1
0
forked from boos/BoosAPI
Commit Graph

494 Commits

Author SHA1 Message Date
Cita cca2b95e8c Merge pull request #143 from cita-777/Oauth-Management
fix: improve oauth fallback handling for Gemini and Antigravity
2026-03-17 23:16:21 +08:00
ciat-777 f565d1b54d fix: improve oauth error and model discovery fallbacks 2026-03-17 23:13:11 +08:00
Cita 2f2c93477d Merge pull request #141 from cita-777/Oauth-Management
feat: expand gemini proxy compatibility matrix
2026-03-17 21:30:41 +08:00
ciat-777 2e34f9033d feat: expand gemini proxy compatibility matrix 2026-03-17 21:22:23 +08:00
ciat-777 07351b527f feat: enhance OAuthManagement with improved provider handling and user feedback 2026-03-17 20:17:04 +08:00
Cita eb0c5475ca Merge pull request #140 from cita-777/feat/oauth-loopback-bridge
fix: preserve codex workspaces and clarify oauth guidance
2026-03-17 19:11:36 +08:00
Cita 4b155cbf33 Merge pull request #137 from weijiafu14/fix/gemini-strip-unknown-request-fields
fix: use allowlist for Gemini native request fields to prevent 400 on unknown fields
2026-03-17 19:09:11 +08:00
ciat-777 965ded8960 fix: preserve codex workspaces and clarify oauth guidance 2026-03-17 19:03:36 +08:00
Cita ddfa115eeb Merge pull request #135 from weijiafu14/fix/gemini-thought-signature-tool-calls
fix: inject thoughtSignature into functionCall parts for OpenAI→Gemini conversion
2026-03-17 18:37:12 +08:00
Cita 49f2adf470 Merge pull request #139 from cita-777/feat/oauth-loopback-bridge
feat: align oauth loopback flow with cliproxyapi
2026-03-17 18:02:31 +08:00
ciat-777 ebae2846b2 feat: align oauth loopback flow with cliproxyapi 2026-03-17 17:56:30 +08:00
Cita 5ee69a1ec5 Merge pull request #138 from cita-777/fix/sqlite-sites-unique-migration
fix: recover site unique index bootstrap
2026-03-17 17:47:31 +08:00
ciat-777 1021e6f234 fix: recover site unique index bootstrap 2026-03-17 17:42:18 +08:00
ciat-777 35f5bd3464 chore: align oauth defaults with cliproxyapi 2026-03-17 17:09:38 +08:00
weijiafu14 1bf2e46dd8 fix: use allowlist for Gemini native request fields to prevent 400
Fixes #130

The inbound normalizer forwarded all unknown top-level fields to Gemini
API. Client-specific fields like requestId caused upstream 400 errors.

Changed from blocklist (only 3 entries) to allowlist of known Gemini API
fields: contents, systemInstruction, cachedContent, safetySettings,
generationConfig, tools, toolConfig, labels, model.
2026-03-17 16:24:30 +08:00
weijiafu14 d20417d708 test: add 5 tests for thoughtSignature injection in OpenAI→Gemini path 2026-03-17 16:14:09 +08:00
weijiafu14 8bfdbda251 fix: inject thoughtSignature into functionCall parts for OpenAI→Gemini conversion
When requests arrive via OpenAI-compatible endpoints and are converted to
Gemini format, functionCall parts were missing thoughtSignature. Gemini 3+
rejects such requests with 400 when thinking mode is enabled.

Changes:
- Extract thoughtSignature from tool_calls provider_specific_fields
- Inject into corresponding functionCall parts
- Fall back to dummy sentinel when thinking is enabled but no signature available
- Split signed/unsigned parts into separate model messages (Gemini requirement)

All existing tests pass (59/59).
2026-03-17 16:08:08 +08:00
Cita 4c90028559 Merge pull request #133 from cita-777/feat/oauth-multi-provider
feat: add multi-provider OAuth support for Claude and Gemini CLI
2026-03-17 13:40:38 +08:00
ciat-777 d8e44eb805 feat: add multi-provider OAuth support for Claude and Gemini CLI 2026-03-17 13:36:44 +08:00
Cita 4e3dc92083 Merge pull request #129 from cita-777/feature/oauth-codex-management
feat: implement Codex OAuth flow with loopback callback server and ma…
2026-03-17 12:01:53 +08:00
ciat-777 575a15232b feat: implement Codex OAuth flow with loopback callback server and management UI
- Add localCallbackServer for handling OAuth callback requests.
- Implement service functions for managing OAuth sessions and accounts.
- Create CodexAdapter for platform-specific interactions.
- Develop OAuthManagement page for managing OAuth connections and providers.
- Add tests for localCallbackServer and OAuthManagement components.
2026-03-17 11:07:25 +08:00
Cita c156e0c164 Merge pull request #126 from cita-777/codex/masked-placeholder-tokens
feat: add masked token placeholders and desktop icons
2026-03-16 22:14:30 +08:00
cita 5f26ad976a feat: Implement Drizzle SQLite migration utility with schema verification and error recovery mechanisms. 2026-03-16 22:11:13 +08:00
cita 0a06f15e13 feat: add masked token placeholders and desktop icons 2026-03-16 21:36:23 +08:00
Cita 2409d9f184 Merge pull request #124 from cita-777/codex/zero-channel-routes
[codex] add zero-channel placeholders and remaining workspace changes
2026-03-16 19:40:46 +08:00
cita f67d871035 fix gemini stream payload typing 2026-03-16 19:38:17 +08:00
cita bec0457a92 include remaining workspace changes 2026-03-16 19:29:26 +08:00
cita 52441f2634 add zero-channel route placeholders 2026-03-16 19:25:02 +08:00
Cita 83c6b3460a Merge pull request #121 from cita-777/fix/release-packaging-and-model-dedupe
Fix release packaging and model dedupe
2026-03-16 16:40:24 +08:00
ciat-777 71dde80744 Fix release artifact name containing illegal slash from branch name
The upload-artifact step used github.ref_name which includes forward
slashes for branch-triggered workflow_dispatch runs. Replace with
github.run_id which is always a safe integer.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 16:24:29 +08:00
ciat-777 b0e16fd3ea Fix model refresh dedupe and desktop packaging 2026-03-16 15:49:15 +08:00
Cita 60df68b712 Merge pull request #120 from cita-777/downstream-keys-ui-harmonize
Refine DownstreamKeys page and unify site badge links
2026-03-16 14:54:34 +08:00
ciat-777 d9e33e71ed Unify site badge links across console pages 2026-03-16 14:48:46 +08:00
ciat-777 bfb7ea180f Refine DownstreamKeys management page 2026-03-16 14:41:29 +08:00
ciat-777 7e7add1343 docs: add downstream key ui and site link plan 2026-03-16 13:32:56 +08:00
Hureru f36e867e1d test(proxy): add tests for account-level proxy resolution
Cover getProxyUrlFromExtraConfig, resolveChannelProxyUrl,
withSiteRecordProxyRequestInit third parameter, and
withAccountProxyOverride ALS context propagation.
2026-03-16 01:07:14 +08:00
Hureru f7b163c8b0 feat(web): add proxy URL field to account edit panel
Add proxyUrl input to the account edit form with a hint about
supported protocols. Display a proxy badge on accounts that have
a custom proxy configured in both mobile and desktop list views.
2026-03-16 01:06:57 +08:00
Hureru ffc2ad039c feat(proxy): wrap platform adapter calls with account proxy override
Use withAccountProxyOverride to propagate account-level proxy URL
through AsyncLocalStorage for checkin, balance refresh, model
discovery, token sync, rebind-session verify, and token CRUD
operations. Also accept proxyUrl field in PUT /api/accounts/:id
with validation via parseSiteProxyUrlInput.
2026-03-16 01:06:40 +08:00
Hureru 6d2f1c4b81 feat(proxy): pass account proxy through all proxy route handlers
Thread account-level proxyUrl from extraConfig into
resolveChannelProxyUrl for endpointFlow and the third parameter
of withSiteRecordProxyRequestInit for direct fetch calls across
chat, responses, completions, embeddings, images, search, and
videos proxy routes.
2026-03-16 01:06:16 +08:00
Hureru b43a4fd2ea fix(proxy): use proxyUrl parameter in endpointFlow fetch
The ExecuteEndpointFlowInput.proxyUrl field was defined but ignored
by the fetch call. Apply it via withExplicitProxyRequestInit when
present, falling back to withSiteProxyRequestInit otherwise.
2026-03-16 01:05:43 +08:00
Hureru 5687e87308 feat(proxy): add account-level proxy resolution core
Add getProxyUrlFromExtraConfig to extract proxy URL from account
extraConfig JSON. Extend siteProxy with AsyncLocalStorage-based
withAccountProxyOverride, resolveChannelProxyUrl, and optional
accountProxyUrl parameter on withSiteRecordProxyRequestInit.

Priority chain: account proxyUrl > site useSystemProxy > direct.
2026-03-16 01:03:32 +08:00
Cita e80fab5010 Merge pull request #114 from cita-777/fix/gemini-native-route-regressions
fix: address gemini native and route coverage regressions
2026-03-15 23:19:44 +08:00
ciat-777 bb608a39e9 fix: remove duplicate proxy log compat helper after rebase 2026-03-15 23:17:11 +08:00
ciat-777 4660c8ae0b fix: add downstream API key metadata and update proxy logs schema
# Conflicts:
#	src/server/db/generated/mysql.upgrade.sql
#	src/server/db/generated/postgres.upgrade.sql
#	src/server/db/index.ts
2026-03-15 23:14:44 +08:00
ciat-777 b15da138d1 feat: enhance MySQL upgrade generation with index prefix length control
- Added support for specifying prefix lengths for live text-backed columns in MySQL upgrade SQL generation.
- Introduced `mysqlIndexPrefixRequirements` option to `generateUpgradeSql` function.
- Updated tests to validate the new functionality for MySQL upgrade generation.
- Removed legacy shared index compatibility specifications to avoid duplication with runtime schema bootstrap.
- Improved error handling and response structure in account token coverage refresh logic.
- Added tests for coverage refresh failure scenarios to ensure proper handling of token persistence.

# Conflicts:
#	src/server/db/sharedIndexSchemaCompatibility.test.ts
#	src/server/db/sharedIndexSchemaCompatibility.ts
#	src/server/index.ts
2026-03-15 23:13:37 +08:00
ciat-777 1a2268cedb fix: update documentation to clarify default admin token for desktop installer on first launch 2026-03-15 23:08:49 +08:00
ciat-777 6ca08c1052 fix: update desktop server configuration for consistent port handling and access 2026-03-15 23:08:49 +08:00
ciat-777 4b42751953 fix: address gemini native and route coverage regressions 2026-03-15 23:08:49 +08:00
Delicious a64a51aa0c feat: 下游 API 密钥管理 (#103)
* feat: downstream API key usage + proxy log attribution

* chore(schema): regenerate generated artifacts

* test: keep migration replay + platform detection tests stable

* feat: complete downstream api key management validation

* refactor: move downstream keys into console nav

* feat: upgrade downstream keys management console

* feat: harden downstream key management flows

* test: cover downstream key policy guards

* feat: add downstream key grouping and tags

* feat: polish downstream key search and log metadata

* test: fix sqlite migration bootstrap coverage

* perf: isolate vchart bundle loading

* fix: align downstream key drawer metrics

---------

Co-authored-by: DeliciousBuding <DeliciousBuding@users.noreply.github.com>
2026-03-15 22:00:02 +08:00
dependabot[bot] 251348f784 build(deps-dev): bump wait-on from 8.0.5 to 9.0.4 (#109)
Bumps [wait-on](https://github.com/jeffbski/wait-on) from 8.0.5 to 9.0.4.
- [Release notes](https://github.com/jeffbski/wait-on/releases)
- [Commits](https://github.com/jeffbski/wait-on/compare/v8.0.5...v9.0.4)

---
updated-dependencies:
- dependency-name: wait-on
  dependency-version: 9.0.4
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-15 19:41:45 +08:00