Commit Graph
9 Commits
Author SHA1 Message Date
ZacharyZhang-NY 35e1097041 Let custom OpenAI/Anthropic-compatible providers take a hand-entered model id 2026-05-30 02:06:04 -04:00
ZacharyZhang-NY 2dbab2c1fe Use a free-text model id for providers without an enumerable model list 2026-05-30 01:27:38 -04:00
ZacharyZhang-NY 9996b89f72 Show custom OpenAI/Anthropic-compatible providers in onboarding and settings 2026-05-29 22:56:01 -04:00
ZacharyZhang-NY 6c68836455 Add custom OpenAI- and Anthropic-compatible providers
New 'Custom OpenAI-compatible' and 'Custom Anthropic-compatible' providers let
an agent run against any compatible endpoint by base URL + key: the turn posts
Chat Completions (/chat/completions) or Anthropic Messages (/v1/messages) at the
configured base URL. Backfilled into existing orgs by migration 037.
2026-05-29 22:36:56 -04:00
ZacharyZhang-NY 9ce1281054 Add Claude Pro/Max, Mistral, Cerebras and OpenRouter connectors
Closes the Anthropic OAuth gap with a native Claude Pro/Max device sign-in
(reusing the OAuth engine) and adds three OpenAI-compatible API-key
providers. Model lists are sourced from the provider registry. A backfill
migration seeds the new providers into existing organizations idempotently.
2026-05-29 20:19:01 -04:00
ZacharyZhang-NY 49a9f16221 Replace token-paste with native device-code/PKCE provider sign-in
Implement the official OAuth login flows natively (ported from pi-ai's
reference): GitHub Copilot device-code, GPT account (ChatGPT Codex) and
Google Antigravity authorization-code + PKCE via a loopback callback server.
Obtained credentials are stored as JSON through the existing secret vault.
Onboarding and Settings now run the real sign-in instead of pasting an
access token.
2026-05-29 20:08:55 -04:00
ZacharyZhang-NY 2c3760ca11 Add canonical per-provider model lists with picker UI
The catalog only carried one defaultModel string per provider, which
forced users to type model ids by hand and made the onboarding /
providers panel feel like the original AgentCompany was missing models.

- src/shared/provider-models.ts holds the canonical id/name list per
  provider key (~165 entries across OpenAI, Anthropic, xAI, Groq,
  GitHub Copilot, Antigravity, GPT account, Azure, Bedrock, Vertex)
- ProviderCatalogEntry now exposes a models[] array
- Onboarding ProviderStep renders a <select> populated from the active
  provider's catalog instead of a freeform text input
- ProvidersPanel connect dialog uses the same picker for API key,
  OAuth, and account auth flows
- TeamPage hire dialog adds a <datalist> with every catalog model so
  manual entry is autocompletable
2026-05-21 21:39:36 -04:00
ZacharyZhang-NY dc791ec984 Replace one-secret provider dialog with per-auth-type fields
OAuth, account, and cloud providers previously fell into the same
password input as API key providers, which made them impossible to
connect properly. Split the connect dialog by auth type:

- api_key: secret + model (unchanged)
- oauth_pkce / account_subscription: button that opens the provider's
  official sign-in URL in a session-partitioned BrowserWindow, then a
  paste field for the access token returned by the provider
- cloud: multi-field form (base URL, region, project, deployment,
  credential) serialized into the encrypted secret payload

Each catalog entry now carries signInUrl and credentialHelp so the
dialog can render the right instructions without baking copy into the
renderer.

Backed by a new launchProviderSignIn IPC method on ProviderService that
opens a hardened popup (nodeIntegration off, contextIsolation on,
sandbox on, permission denies) and records an audit event.
2026-05-21 21:34:18 -04:00
ZacharyZhang-NY fcf6d90731 Rebuild AgentCompany Electron app 2026-05-20 23:27:00 -04:00