Commit graph

290 commits

Author SHA1 Message Date
Jan
cc10485f0c
feat(kilocode): add provider support
* Add KiloCode as a first-class provider with HTTP-based model catalog

Implements KiloCode (kilo.ai gateway) support following repo design principles,
independently of the OpenCode implementation.

Key changes:
- Add 'kilocode' to CliProviderId, TeamProviderId, MemberWorkSyncProviderId
- Create kilocode-model-catalog feature: HTTP client fetching models from
  kilo.ai /models endpoint (not /v1/models — different gateway path)
- Add KILO_API_KEY env var for authentication
- Wire kilocode into provider routing, capabilities, and UI labels
- Add 'kilo' brand icon alias in providerBrandIcons (auto-fetches from models.dev)
- KiloCode status is managed via the HTTP gateway, not the multimodel bridge

* Fix: preserve non-bridge providers (kilocode) when updating provider status

The multimodel bridge only returns status for anthropic/codex/gemini/opencode.
When checkAuthStatus replaced result.providers with the bridge response,
kilocode was lost from the provider list and never appeared in the UI.

Now merge bridge providers with the initial list, keeping any provider
not covered by the bridge so kilocode shows up in the Extensions panel.

* Fix: resolve KiloCode status after bridge merge, skip bridge refresh for non-bridge providers

- resolveKilocodeStatus() gives kilocode a settled verificationState:'verified' status
  so isHydratedMultimodelProviderStatus() returns true and the loading spinner stops
- Status reflects KILO_API_KEY presence: authenticated+supported when set, else clear message
- fetchCliStatus() now skips fetchCliProviderStatus for non-bridge providers (kilocode)
  so the Claude Code CLI is not queried for kilocode, preventing error status overwrites

* Add KiloCode to API key provider system in settings dialog

isApiKeyProviderId now includes kilocode, so the API key form renders
in the Provider Settings dialog instead of showing an empty modal.
Adds KILO_API_KEY config with placeholder and description.

* Fix KiloCode models endpoint: /api/gateway/models per docs

* Fix: short-circuit getProviderStatus/verifyProviderModels for kilocode

The Claude Code CLI only accepts anthropic and codex for --provider.
Calling it with kilocode caused the blinking modal error.

resolveKilocodeProviderStatus() returns status directly from env
without touching the CLI binary — no bridge, no --provider flag.

* Fix: resolveKilocodeProviderStatus reads from app key store via enrichProviderStatus

process.env.KILO_API_KEY was only set for users who configured it in their
shell environment. The UI stores the key in the app's encrypted key store
(ApiKeyService), which enrichProviderStatus checks via hasStoredProviderApiKey.

Now resolveKilocodeProviderStatus() calls providerConnectionService.enrichProviderStatus()
so both the app key store and env var are checked — the same way anthropic/gemini work.

* Wire KiloCode model catalog into provider status — models now load from gateway

- ProviderConnectionService: add setKilocodeModelCatalogFeature() and
  enrichKilocodeProviderStatus() which fetches models from the gateway API
  and populates provider.models when the API key is configured
- main/index.ts: create KilocodeModelCatalogFeature at startup and inject
  it into ProviderConnectionService, same lifecycle as Codex catalog

* Fix: skip Claude CLI probe for kilocode in prepareForProvisioning

The generic probe path calls probeClaudeRuntime with CLAUDE_CODE_ENTRY_PROVIDER=kilocode
which causes the CLI to hang — freezing the Create Team dialog until timeout.

Add an explicit kilocode case that short-circuits to an API key presence check
(via providerConnectionService.getConnectionInfo) without touching the Claude binary,
same pattern as the opencode adapter bypass.

* Fix vitest localStorage fallback

* test(kilocode): update provider visibility expectations

---------

Co-authored-by: 777genius <quantjumppro@gmail.com>
2026-05-25 21:12:37 +03:00
777genius
6855d63ec6 feat(i18n): add localization foundation
Refs https://github.com/777genius/agent-teams-ai/issues/139
2026-05-24 15:37:24 +03:00
777genius
e9cebe64ff feat: improve provider status startup hydration
Keep connected provider details visible while refreshes are in flight, restore reusable provider status UI, and separate fast startup summaries from heavier provider hydration. Replace the fixed 30s startup wait with an idle-aware scheduler with a 30s safety cap and cover the Electron timer binding crash.
2026-05-24 00:23:04 +03:00
777genius
ef77f36b8f fix(startup): hydrate deferred provider statuses 2026-05-23 16:31:46 +03:00
777genius
a4861fa77d perf(startup): defer provider status checks 2026-05-23 14:23:57 +03:00
777genius
f4ff278ac4 chore: merge team ipc clean architecture refactor 2026-05-22 17:16:51 +03:00
777genius
a386e30667 fix(team): harden launch diagnostics and MCP shutdown 2026-05-22 00:20:47 +03:00
777genius
b5ca3eed68 fix(cli): prevent stale status hydration 2026-05-22 00:18:59 +03:00
777genius
3c427ac617 feat(runtime): support anthropic compatible endpoints 2026-05-22 00:16:52 +03:00
777genius
a8e7f1ccd5 refactor(team): extract message notification scanner 2026-05-21 23:47:55 +03:00
777genius
16a003416d feat: harden opencode and team runtime flows 2026-05-21 01:10:48 +03:00
777genius
d5894c029d feat(team): improve runtime bootstrap controls 2026-05-19 22:39:13 +03:00
777genius
bf3011624d fix: harden team launch bootstrap provisioning 2026-05-19 19:43:02 +03:00
777genius
dffc527424 fix(ci): restore dev validation checks 2026-05-19 02:49:45 +03:00
777genius
67fbd1e681 fix(codex): improve runtime CLI discovery 2026-05-18 20:04:50 +03:00
777genius
4a8cec9dc2 chore: checkpoint frontend workspace updates 2026-05-18 01:57:16 +03:00
777genius
445932e45b feat(team): improve runtime provider workflows 2026-05-17 19:11:26 +03:00
777genius
a474076330 feat: add managed codex runtime installer 2026-05-13 22:30:25 +03:00
777genius
20c3194160 feat(runtime): improve provider delivery visibility 2026-05-12 23:33:08 +03:00
777genius
3f2b807bbc feat(opencode): improve runtime delivery diagnostics 2026-05-12 13:26:33 +03:00
777genius
e3d0d56073 feat(team): capture launch failure artifacts 2026-05-11 17:29:19 +03:00
777genius
cbe8d194ef chore: sync current frontend updates 2026-05-10 21:29:07 +03:00
777genius
d0cfabca48 fix(ci): stabilize dev branch checks 2026-05-09 23:40:13 +03:00
777genius
bceef9dec5 feat(team): improve review change evidence flow 2026-05-09 17:44:09 +03:00
777genius
bda2af87e4 feat(sync): expand member work review signals 2026-05-09 14:34:33 +03:00
777genius
8fd8949684 feat(team): harden opencode delivery advisories 2026-05-09 13:17:23 +03:00
777genius
409f84110e feat(team): checkpoint dashboard and runtime UX updates 2026-05-09 12:20:39 +03:00
777genius
3ed6dd3159 fix(attachments): export renderer budget helpers 2026-05-09 01:49:55 +03:00
777genius
960beaad44 fix(attachments): enforce serialized payload budget 2026-05-09 01:45:08 +03:00
777genius
2ac71cd00d fix(attachments): allow live opencode image sends 2026-05-09 01:41:50 +03:00
777genius
80acc3b663 feat(team): harden runtime delivery and diagnostics 2026-05-09 00:25:55 +03:00
777genius
f6e95f5b2f chore(team): checkpoint current frontend work 2026-05-08 21:48:27 +03:00
777genius
b192ed4bae feat(team): improve composer persistence flow 2026-05-05 10:35:33 +03:00
777genius
cde85c0396 fix(team): stabilize mixed launch runtime states 2026-05-04 21:03:41 +03:00
777genius
5c65f55067 feat(team): retry failed opencode secondary lanes 2026-05-04 14:48:55 +03:00
777genius
b1b2e696e5 perf(team): defer enrichments after first paint 2026-05-04 14:47:46 +03:00
777genius
92a1c2067b fix(ci): restore dev validation gates 2026-05-04 09:12:53 +03:00
777genius
d495f8d8f2 feat(team): improve team orchestration diagnostics 2026-05-03 13:27:48 +03:00
777genius
d0341e58af fix(team): retain launch status and clarify notifications 2026-05-03 13:18:53 +03:00
777genius
e3c62eb620 fix(team): harden runtime status and opencode bootstrap 2026-05-03 13:09:21 +03:00
777genius
b187bbcdd0 perf: add launch IO governor for team summaries 2026-05-02 22:14:08 +03:00
777genius
4385b0c679 perf(team): cache team data reads safely 2026-05-02 20:24:46 +03:00
777genius
01b8161f41 fix(team): preserve explicit launch defaults 2026-05-01 23:43:36 +03:00
777genius
93532f3ff5 feat: expose agent teams control via MCP 2026-04-29 10:55:07 +03:00
777genius
7bb24934a5 feat(team): enable task stall monitoring by default 2026-04-28 17:42:19 +03:00
Илия
a8d53ca5cb
fix(ci): restore dev validation 2026-04-28 16:08:05 +03:00
777genius
212cd37d3f feat(team): improve runtime lane presence state 2026-04-27 17:40:13 +03:00
777genius
9fe9f81046 feat(team): add worktree readiness checks 2026-04-27 13:46:11 +03:00
iliya
645ac4573e fix(windows): align session paths and validators 2026-04-25 20:23:03 +03:00
iliya
f2b7024226 fix(windows): support path mentions and editor launch 2026-04-25 19:12:11 +03:00