Commit graph

299 commits

Author SHA1 Message Date
777genius
33bbf949ec merge: dev into main
# Conflicts:
#	scripts/ci/verify-radix-presence-patch.mjs
2026-05-26 00:45:20 +03:00
777genius
b5d7da1ea8 fix(attachments): support claude gif delivery 2026-05-25 23:43:29 +03:00
777genius
63e16d1043 fix(workspace-trust): canonicalize git worktree trust roots 2026-05-25 21:30:56 +03:00
Илия
8e0731f47a
revert: revert KiloCode provider support
This reverts commit cc10485f0c.
2026-05-25 21:19:56 +03:00
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
infiniti
9758fafd10
feat(team): support sent message revisions
* fix(opencode): recover empty bridge output sends

* fix(opencode): handle empty readiness bridge output

* fix(opencode): retry read-only bridge no-output

* fix(opencode): recover empty bridge output sends

---------

Co-authored-by: iliya <iliyazelenkog@gmail.com>

* fix(runtime-provider): clarify opencode model routes ux

* fix(team): show create dialog loading fallback

* feat(team): support revising sent messages

* test(team): cover sent message revision flow

* fix(opencode): harden local runtime bridge support

* fix(member-work-sync): recover stale nudge payload conflicts

* fix(runtime): gate codex install prompt on runtime status

* fix(team): persist incomplete launch state before cleanup

* fix(team): keep launch pending for dead runtime entries

* feat(logs): compact team log source controls

* fix(build): verify radix presence patch before build

* fix(renderer): recover failed dynamic imports

* fix(team): preserve task labels and change presence

* fix(logs): restore member process log source

* fix(team): require revision notice before editing

---------

Co-authored-by: iliya <iliyazelenkog@gmail.com>
Co-authored-by: 777genius <quantjumppro@gmail.com>
2026-05-25 21:11:59 +03:00
infiniti
bf41db266d
fix(opencode): explain managed profile link failures
Co-authored-by: iliya <iliyazelenkog@gmail.com>
2026-05-25 20:59:12 +03:00
777genius
7e0520cb4c fix(logs): restore member process log source 2026-05-25 17:17:11 +03:00
777genius
62ef88300a feat(logs): compact team log source controls 2026-05-25 14:54:28 +03:00
777genius
8f4a4dd502 fix(member-work-sync): recover stale nudge payload conflicts 2026-05-25 14:34:14 +03:00
777genius
5aba24c400 feat(team): support revising sent messages 2026-05-25 01:22:57 +03:00
777genius
c04871747c fix(runtime-provider): clarify opencode model routes ux 2026-05-25 01:22:57 +03:00
infiniti
47cea58543
feat(i18n): add expanded app locale support
* feat(i18n): add CJK app locale support

* feat(i18n): add Spanish Hindi and Portuguese locales

* feat(i18n): add French Arabic and Bengali locales

* feat(i18n): add Urdu Indonesian and German locales

* feat(i18n): add landing locales for Bengali Urdu and Indonesian

* fix(i18n): address locale review feedback

---------

Co-authored-by: iliya <iliyazelenkog@gmail.com>
2026-05-24 22:10:47 +03:00
777genius
6ebe375cf9 fix: restore runtime status ci expectations 2026-05-24 16:43:16 +03:00
777genius
421997c457 chore: merge dev into team log member filter
# Conflicts:
#	src/renderer/components/layout/TeamTabSectionNav.tsx
#	src/renderer/components/team/ClaudeLogsFilterPopover.tsx
#	src/renderer/components/team/ClaudeLogsSection.tsx
#	src/renderer/components/team/members/MemberDetailDialog.tsx
#	src/renderer/components/ui/MemberSelect.tsx
2026-05-24 15:55:56 +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
2be35c74ec fix(startup): repair deferred runtime refresh paths 2026-05-23 17:08:13 +03:00
777genius
34a1b86b21 perf(startup): defer noncritical startup probes 2026-05-23 15:04:05 +03:00
777genius
64fdfd2422 chore: checkpoint existing workspace changes 2026-05-23 13:48:35 +03:00
777genius
eb99baee23 fix(runtime): sanitize provider error output 2026-05-22 21:04:50 +03:00
777genius
0e8ccf2905 feat(runtime): filter free provider models 2026-05-22 21:04:50 +03:00
777genius
077c749cb7 fix(windows): harden elevated runtime detection 2026-05-22 18:43:50 +03:00
777genius
6fb0c714ef fix(runtime-provider-management): surface provider diagnostics 2026-05-22 15:42:25 +03:00
777genius
ad984a859b fix(ci): stabilize runtime release checks 2026-05-22 00:55:29 +03:00
777genius
13b14762bc fix(runtime): bound binary path discovery 2026-05-22 00:17:54 +03:00
777genius
3c427ac617 feat(runtime): support anthropic compatible endpoints 2026-05-22 00:16:52 +03:00
777genius
3d1b329221 feat(discovery): bound recent project scans 2026-05-22 00:15:57 +03:00
777genius
9ad4269ebc feat(runtime): harden MCP launch orchestration 2026-05-21 19:03:47 +03:00
777genius
6fd75c6704 chore: commit remaining workspace updates 2026-05-21 16:43:00 +03:00
777genius
384446e83c feat(opencode): add scoped model defaults UI 2026-05-21 12:35:41 +03:00
777genius
1ff1e6ca07 fix(lint): satisfy opencode launch validation 2026-05-21 02:01:29 +03:00
777genius
16a003416d feat: harden opencode and team runtime flows 2026-05-21 01:10:48 +03:00
777genius
3908b5eb25 fix(workspace-trust): harden Claude preflight for live teams 2026-05-20 02:41:20 +03:00
777genius
98d11b260c fix(team): align Anthropic effort UI fallback 2026-05-19 21:27:50 +03:00
777genius
bf3011624d fix: harden team launch bootstrap provisioning 2026-05-19 19:43:02 +03:00
777genius
2d06442ce0 feat(graph): refine runtime lanes and model compatibility 2026-05-19 14:24:30 +03:00
777genius
3e52008c7a feat(app): rename display name to Agent Teams AI 2026-05-19 14:24:30 +03:00
777genius
9dd1572763 fix(graph): refresh runtime state in graph views 2026-05-19 11:17:17 +03:00
777genius
dffc527424 fix(ci): restore dev validation checks 2026-05-19 02:49:45 +03:00
777genius
9cd5144e1a fix(codex): retry binary discovery after shell env loads 2026-05-19 00:09:26 +03:00
777genius
f19ed93d4b fix(team): keep codex member work visible during recovery 2026-05-18 23:31:58 +03:00
777genius
3bb8e18982 fix(opencode): suppress recovered app mcp advisory 2026-05-18 20:45:19 +03:00
777genius
67fbd1e681 fix(codex): improve runtime CLI discovery 2026-05-18 20:04:50 +03:00
777genius
88e01ae87d fix(runtime): improve opencode diagnostics 2026-05-18 03:36:26 +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
e333d09d9c fix: harden task change review flows 2026-05-17 14:18:54 +03:00
777genius
b88b2db365 fix: harden provider management and updater flows 2026-05-16 23:23:27 +03:00
infiniti
d29f3a23d4
fix: harden Windows frontend stability (#125) 2026-05-16 19:57:11 +03:00
infiniti
9c438e7c84
fix: harden Windows frontend path handling
Harden Windows path handling and packaged app smoke checks.
2026-05-16 17:34:50 +03:00
777genius
9c0b8beb7c fix(ci): stabilize ci and release workflows 2026-05-14 22:10:30 +03:00
777genius
6e8f938da2 fix(team): harden opencode delivery recovery 2026-05-14 15:11:40 +03:00
777genius
bc571f5fc7 fix(member-work-sync): guard proof-missing recovery dispatch 2026-05-14 02:09:18 +03:00
777genius
d048113c1d fix(member-work-sync): avoid self-blocking proof recovery 2026-05-14 01:54:16 +03:00
777genius
39c52c3847 feat(member-work-sync): recover missing opencode proof 2026-05-14 01:48:49 +03:00
777genius
6aad8b9c2c feat(member-work-sync): add proof missing recovery contracts 2026-05-14 01:26:29 +03:00
777genius
75a3938f84 fix(member-work-sync): validate inbox nudge payload hash 2026-05-14 01:20:39 +03:00
777genius
4c5a752342 chore: commit remaining workspace updates 2026-05-13 22:34:13 +03:00
777genius
a474076330 feat: add managed codex runtime installer 2026-05-13 22:30:25 +03:00
777genius
6e67e9b3a4 fix(team): stabilize launch readiness signals 2026-05-13 18:09:05 +03:00
777genius
29ea1ae724 feat: add workspace trust preflight 2026-05-13 17:56:00 +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
eb83ac92b2 docs: update agent teams docs and navigation 2026-05-11 11:09:17 +03:00
777genius
26c394674b feat(team): improve graph member log previews 2026-05-10 23:49:38 +03:00
777genius
cbe8d194ef chore: sync current frontend updates 2026-05-10 21:29:07 +03:00
777genius
63b89fcd39 feat: improve team model availability diagnostics 2026-05-10 10:11:44 +03:00
777genius
d0cfabca48 fix(ci): stabilize dev branch checks 2026-05-09 23:40:13 +03:00
777genius
92e84c8461 feat(team): refine review workflow indicators 2026-05-09 22:10:29 +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
fc3bd61f93 chore(team): checkpoint launch stability work 2026-05-09 05:04:46 +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
c20293f4de feat(attachments): add opencode vision adapter 2026-05-09 01:18:51 +03:00
777genius
935c522846 feat(attachments): add codex native adapter 2026-05-09 01:16:08 +03:00
777genius
bc702caff2 feat(attachments): add claude delivery adapter 2026-05-09 01:11:28 +03:00
777genius
c2cb84607a feat(attachments): add agent attachment foundation 2026-05-09 01:09:48 +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
08ab7c6b6d fix(team): harden process bootstrap and codex auth 2026-05-08 09:28:28 +03:00
777genius
26baaf6924 chore: checkpoint agent launch hardening 2026-05-07 23:26:37 +03:00
777genius
5730ddc7af fix(team): harden codex login and runtime previews 2026-05-07 21:18:39 +03:00
777genius
8d06ee81c2 fix(team): stabilize launch previews and codex reconnect 2026-05-07 20:58:40 +03:00
777genius
472a1501ad fix(team): refine launch dialog previews 2026-05-07 20:36:48 +03:00
777genius
0f9f79da66 fix(logs): scope graph preview lane requests 2026-05-07 20:14:59 +03:00
777genius
7c39fbd8e7 fix(logs): refine graph preview readability 2026-05-07 19:54:31 +03:00
777genius
8bc460721f fix(logs): summarize operational tool previews 2026-05-07 19:25:34 +03:00
777genius
cade7b4fdb fix(logs): refine runtime preview summaries 2026-05-07 19:04:37 +03:00
777genius
0e080abefb fix(logs): detect additional error payload fields 2026-05-07 18:44:28 +03:00
777genius
9d419626ef fix(ci): apply frontend validation fixes 2026-05-07 18:43:37 +03:00
777genius
30a6e36976 fix(team): stabilize graph preview validation 2026-05-07 18:07:00 +03:00
777genius
b9f82f8162 fix(team): preserve log stream participant filter 2026-05-07 17:52:03 +03:00
777genius
9a1b01b2b6 chore(runtime): bump runtime lock to 0.0.22 2026-05-07 17:16:06 +03:00
777genius
8caa962dec merge: member log stream v2
# Conflicts:
#	src/renderer/components/team/taskLogs/TaskLogStreamSection.tsx
#	test/main/services/team/TeamMemberLogsFinder.test.ts
2026-05-07 15:24:04 +03:00
777genius
9505ef8485 feat: add graph member log previews 2026-05-07 15:18:21 +03:00
777genius
fcca3649bf feat: add member log stream v2 2026-05-07 13:19:56 +03:00