Commit graph

2226 commits

Author SHA1 Message Date
Илия
b28faa026e
ci: update ReviewRouter Codex action ref 2026-05-26 12:01:14 +03:00
Илия
07a8ed6e02
ci: update ReviewRouter Codex action ref (#175) 2026-05-26 11:28:16 +03:00
Илия
0c6f049486
ci: update ReviewRouter Codex action ref (#174) 2026-05-26 11:13:04 +03:00
Илия
a749943939
Merge pull request #173 from 777genius/reviewrouter/update-codex-action-614d03e
ci: update ReviewRouter Codex action ref
2026-05-26 10:52:00 +03:00
iliya
1dd4703dd6 ci: update reviewrouter codex action ref 2026-05-26 10:51:38 +03:00
Илия
09704a4c8f
Merge pull request #172 from 777genius/reviewrouter/update-codex-action-a6b0fa1
ci: update ReviewRouter Codex action ref
2026-05-26 10:38:13 +03:00
iliya
563a3264bc ci: update reviewrouter codex action ref 2026-05-26 10:38:00 +03:00
Илия
1a2ad800d3
Merge pull request #171 from 777genius/reviewrouter/update-codex-action-1d64e0a
ci: update ReviewRouter Codex action ref
2026-05-26 10:25:38 +03:00
iliya
c34981461a ci: update reviewrouter codex action ref 2026-05-26 10:25:18 +03:00
Илия
c505726ddb
Merge pull request #169 from 777genius/reviewrouter/update-action-ref
ci: update ReviewRouter action ref
2026-05-26 09:51:07 +03:00
iliya
291a8c14de ci: update reviewrouter action ref 2026-05-26 09:50:41 +03:00
Илия
e34ed96de3
fix: align ReviewRouter interaction workflow
Pin the ReviewRouter interaction workflow to ubuntu-24.04 and keep Codex discussion setup on REVIEWROUTER_CODEX_AUTH_JSON only.
2026-05-26 02:34:07 +03:00
Илия
a4d77b2074
fix: pin ReviewRouter node24 action
Pin ReviewRouter workflows to the production Node24 action ref.
2026-05-26 01:41:26 +03:00
777genius
13c0d009c5 fix: remove redundant image mime alias 2026-05-26 01:08:18 +03:00
777genius
33bbf949ec merge: dev into main
# Conflicts:
#	scripts/ci/verify-radix-presence-patch.mjs
2026-05-26 00:45:20 +03:00
Илия
2e9a906593
chore: migrate ReviewRouter to Codex rotating OAuth (#163)
* chore: migrate ReviewRouter to Codex rotating OAuth

* fix: restore ReviewRouter interaction workflow

* fix: pin ReviewRouter codex runtime

* fix: update ReviewRouter interaction action version

* fix: pin ReviewRouter codex cleanup runtime
2026-05-26 00:36:24 +03:00
777genius
ec5bb5d5ea fix(runtime): prevent provider status label overflow 2026-05-25 23:44:06 +03:00
777genius
b5d7da1ea8 fix(attachments): support claude gif delivery 2026-05-25 23:43:29 +03:00
777genius
a67c74e343 docs(release): protect draft release review notes 2026-05-25 23:43:03 +03:00
777genius
0d4e6f5047 perf(startup): avoid provider refresh version probe 2026-05-25 23:37:12 +03:00
777genius
320cee2d29 fix(build): guard packaged renderer bundles 2026-05-25 23:29:11 +03:00
777genius
33463d3479 perf(startup): skip deferred cli version probe 2026-05-25 23:25:21 +03:00
777genius
4bf707c720 fix(build): harden radix ref cleanup patches 2026-05-25 23:15:52 +03:00
777genius
a6dd0061a8 perf(startup): defer heavy startup work 2026-05-25 23:14:59 +03:00
777genius
43afc9f907 fix(jsonl): align count-only baseline parsing 2026-05-25 22:58:07 +03:00
777genius
7518b5af1d fix(build): sync radix patch lockfile 2026-05-25 22:36:20 +03:00
777genius
13b3ace4fd test(jsonl): format baseline count imports 2026-05-25 22:36:14 +03:00
777genius
63cbce7d78 fix(build): verify radix dismissable layer patch 2026-05-25 22:32:44 +03:00
777genius
b0b2fa2d13 fix(jsonl): count baseline entries without materializing messages 2026-05-25 22:32:09 +03:00
777genius
e64fff8af0 fix(watcher): baseline large existing jsonl files 2026-05-25 22:26:55 +03:00
777genius
bafd4d7194 fix(team): show launch dialog loading fallback 2026-05-25 21:30:56 +03:00
777genius
e88d3a1e98 feat(team): open persisted attachments in editor 2026-05-25 21:30:56 +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
86e700f031 fix(team): require revision notice before editing 2026-05-25 20:57:04 +03:00
777genius
7e0520cb4c fix(logs): restore member process log source 2026-05-25 17:17:11 +03:00
777genius
5513531053 fix(team): preserve task labels and change presence 2026-05-25 15:43:07 +03:00
777genius
086a8b3e29 fix(renderer): recover failed dynamic imports 2026-05-25 15:42:56 +03:00
777genius
9b169f335f fix(build): verify radix presence patch before build 2026-05-25 15:42:47 +03:00
777genius
62ef88300a feat(logs): compact team log source controls 2026-05-25 14:54:28 +03:00
777genius
79faaf1f9f fix(team): keep launch pending for dead runtime entries 2026-05-25 14:53:45 +03:00
777genius
c033a0cb87 fix(team): persist incomplete launch state before cleanup 2026-05-25 14:53:05 +03:00
777genius
53dec55b1d fix(runtime): gate codex install prompt on runtime status 2026-05-25 14:52:50 +03:00
777genius
8f4a4dd502 fix(member-work-sync): recover stale nudge payload conflicts 2026-05-25 14:34:14 +03:00
infiniti
2cee9cabaf
fix(opencode): harden local runtime bridge support 2026-05-25 14:31:57 +03:00
777genius
26a57f87d4 test(team): cover sent message revision flow 2026-05-25 01:22:57 +03:00
777genius
5aba24c400 feat(team): support revising sent messages 2026-05-25 01:22:57 +03:00