Commit graph

423 commits

Author SHA1 Message Date
777genius
4d5533585c fix(team): reconcile teammate launch liveness 2026-04-28 18:38:46 +03:00
Илия
ec3740d9c8
Merge pull request #90 from 777genius/fix/provisioning-live-output-trace
feat(team): surface provisioning trace in live output
2026-04-28 17:49:18 +03:00
777genius
28d0ab20c0 feat(team): support controlled opencode teammate relaunch 2026-04-28 17:42:19 +03:00
777genius
bef34983f5 fix(team): recover opencode runtime lane indexes 2026-04-28 17:42:18 +03:00
777genius
075976fd23 feat(team): surface provisioning trace in live output 2026-04-28 17:25:10 +03:00
Илия
2c2f84a00e
feat(team): make tmux optional for desktop teammates Merge pull request #89 from 777genius/feat/tmux-optional-process-backend
Merge pull request #89 from 777genius/feat/tmux-optional-process-backend
2026-04-28 16:42:43 +03:00
iliya
31ae128778 feat(team): make tmux optional for desktop teammates 2026-04-28 16:13:45 +03:00
Илия
a8d53ca5cb
fix(ci): restore dev validation 2026-04-28 16:08:05 +03:00
Artem Rootman
6c43380846
fix(team): propagate cross-provider member args to lead subprocess
* fix(team): propagate cross-provider member args to lead subprocess

When a team has an anthropic lead and codex teammates, the lead was
launched without --settings {"codex":{"forced_login_method":"chatgpt"}}.
buildInheritedCliFlags in the lead had nothing to pass to the codex
teammate, which started without knowing the required auth method and
crashed with "no CODEX_API_KEY or OPENAI_API_KEY configured".

Adds buildCrossProviderMemberArgs that collects provider launch args for
member providers that differ from the primary, and merges them into the
lead's launch args so they propagate to teammates via buildInheritedCliFlags.

* fix: log cross-provider env resolution failures instead of silently swallowing
2026-04-28 14:26:52 +03:00
777genius
82f73e58c2 fix: improve team runtime recovery and launch settings 2026-04-28 12:08:01 +03:00
777genius
531a10e34f fix: improve opencode runtime task logs 2026-04-27 20:49:44 +03:00
777genius
212cd37d3f feat(team): improve runtime lane presence state 2026-04-27 17:40:13 +03:00
777genius
afe50439b1 refactor(team): move opencode retry policy helper 2026-04-27 13:47:04 +03:00
777genius
9fe9f81046 feat(team): add worktree readiness checks 2026-04-27 13:46:11 +03:00
777genius
068e473d2d fix(team): clear delivered runtime message warnings 2026-04-27 11:15:57 +03:00
777genius
b67168a9e8 fix: show opencode teammate replies in messages 2026-04-26 21:35:48 +03:00
777genius
8061b66c34 merge: sync main into dev 2026-04-26 13:12:20 +03:00
777genius
17e1a448dc merge: integrate runtime compatibility notices 2026-04-26 12:33:45 +03:00
777genius
610bfc561d feat(opencode): persist teammate worktree context 2026-04-26 12:31:15 +03:00
iliya
3f1c1acb4f fix(windows): harden runtime project compatibility 2026-04-26 11:44:35 +03:00
777genius
238900f3cf feat(runtime-provider-management): expand opencode setup UI 2026-04-25 23:36:28 +03:00
777genius
351ae4f4ed fix(opencode): explain missing openrouter catalog provider 2026-04-25 18:01:49 +03:00
777genius
661f308ab4 fix(opencode): accept openrouter nested model aliases 2026-04-25 17:44:28 +03:00
777genius
523d450bc8 feat(app): improve runtime provider and tmux flows 2026-04-25 17:28:56 +03:00
777genius
19b6937446 feat(opencode): harden delivery and provider UI 2026-04-25 14:30:10 +03:00
777genius
2f37be4bd0 fix(opencode): harden runtime projection delivery 2026-04-25 00:41:27 +03:00
777genius
e6e3ae9f54 fix(team): harden launch failure recovery copy 2026-04-24 23:25:53 +03:00
777genius
4d1a6149b0 Merge branch 'dev' into feat/opencode-semantic-messaging-seam
# Conflicts:
#	agent-teams-controller/src/internal/crossTeam.js
#	mcp-server/src/tools/messageTools.ts
#	mcp-server/src/tools/taskTools.ts
#	src/main/services/team/opencode/bridge/OpenCodeReadinessBridge.ts
#	src/main/services/team/opencode/e2e/OpenCodeProductionE2EEvidence.ts
#	test/main/services/team/OpenCodeProductionE2EEvidence.test.ts
#	test/main/services/team/OpenCodeProductionGate.live.test.ts
#	test/main/services/team/OpenCodeReadinessBridge.test.ts
2026-04-24 22:48:59 +03:00
777genius
64c9ddc78c feat(opencode): add semantic messaging seam 2026-04-24 22:41:16 +03:00
777genius
3fe9a24e41 feat(team): harden launch liveness and recovery 2026-04-24 22:34:08 +03:00
777genius
2c286a453e test: align opencode project evidence notes 2026-04-24 20:59:47 +03:00
777genius
1f557712f1 fix: handle opencode project evidence prepare 2026-04-24 20:53:22 +03:00
777genius
ebb7b5289d fix: harden team runtime liveness 2026-04-24 20:52:26 +03:00
777genius
d517f2b320 feat(team): harden member runtime liveness 2026-04-24 16:18:12 +03:00
777genius
1c07e0fdb6 feat(team): expand opencode review and release support 2026-04-24 12:05:54 +03:00
777genius
ba4de3775b fix(ci): stabilize team launch reconciliation 2026-04-24 01:28:11 +03:00
777genius
bc2e1e43d8 feat: refine team provisioning and task log UX 2026-04-24 00:40:11 +03:00
777genius
55b369de96 fix(ci): stabilize team runtime lane validation 2026-04-23 22:17:20 +03:00
777genius
9d3e7ef99b fix(team): narrow opencode readiness models 2026-04-23 21:41:46 +03:00
777genius
0bde66b032 fix(runtime): pass provider args through codex probes 2026-04-23 21:29:19 +03:00
777genius
501074e8c3 fix(team): stabilize opencode launch and task logs 2026-04-23 21:08:28 +03:00
777genius
e01e099c6c fix(opencode): harden bridge delivery and bump runtime 2026-04-23 19:24:02 +03:00
777genius
9ebc4368d0 fix: stabilize opencode team launch recovery 2026-04-23 18:27:03 +03:00
777genius
f4e4ecca2e fix(team): degrade failed opencode prelaunch lanes 2026-04-23 13:28:46 +03:00
777genius
fa8bbcbb38 test(team): add opencode mixed recovery smoke 2026-04-23 13:25:38 +03:00
777genius
fe830da37d fix(team): sync mixed launch state back into live runs 2026-04-23 11:14:28 +03:00
777genius
6ea8b469f0 fix(team): map suffixed runtime metadata to launch statuses 2026-04-23 04:22:58 +03:00
777genius
560e14d5ad fix(team): include richer launch members in runtime snapshot 2026-04-23 04:20:01 +03:00
777genius
9766a2b7fc fix(team): match suffixed inbox senders during launch 2026-04-23 04:17:00 +03:00
777genius
b29adf1008 fix(team): match suffixed live agents during reconcile 2026-04-23 04:11:59 +03:00
777genius
1223fa236a fix(team): reconcile richer persisted launch members 2026-04-23 04:09:08 +03:00
777genius
be76b332c9 fix(team): expose richer launch member sets 2026-04-23 04:06:01 +03:00
777genius
8332e416a2 fix(team): preserve expected members on opencode heartbeat 2026-04-23 04:02:52 +03:00
777genius
02419ec8ee fix(team): use persisted launch member union 2026-04-23 02:40:29 +03:00
777genius
82d4f094f4 fix(team): use persisted launch counts in pending copy 2026-04-23 02:38:39 +03:00
777genius
34dd669d88 fix(team): trust persisted permission launch state 2026-04-23 02:31:56 +03:00
777genius
146b839b9c fix(team): keep permission-pending launches from reading ready 2026-04-23 02:26:50 +03:00
777genius
65fa117626 fix(team): preserve pure opencode permission state 2026-04-23 01:31:09 +03:00
777genius
cfc50df5a1 fix(team): preserve opencode permission-blocked launch state 2026-04-23 01:10:05 +03:00
777genius
8cd3f04c20 fix(team): align permission-blocked launch state 2026-04-23 01:05:54 +03:00
777genius
1cb9af3fc7 fix(team): tighten pending launch runtime reporting 2026-04-23 00:36:22 +03:00
777genius
2db49d694c fix(team): harden team launch and create flows 2026-04-23 00:21:26 +03:00
777genius
6211fd95ab fix(team): recover stale mixed opencode lane state 2026-04-22 20:34:42 +03:00
777genius
5ab14682a2 feat(team): support mixed runtime lanes and improve preflight UX 2026-04-22 20:10:20 +03:00
777genius
185789cc0a fix(opencode): tighten readiness and create-team preflight 2026-04-22 02:14:23 +03:00
777genius
708e1c3bf2 merge(team): integrate teammate worktree isolation ui 2026-04-21 22:35:32 +03:00
777genius
339fb072e5 feat(team): add teammate worktree isolation controls 2026-04-21 22:35:18 +03:00
777genius
796c529439 feat(runtime): add provider fast mode support 2026-04-21 22:22:47 +03:00
777genius
5e31bd1c06 feat(opencode): add team runtime integration 2026-04-21 20:28:22 +03:00
777genius
f40ea4f738 feat(agent-teams): add derived task queue agenda 2026-04-21 17:22:54 +03:00
777genius
1db7e501a0 feat(teams): introduce fast mode configuration for Anthropic provider and enhance related UI components 2026-04-21 16:44:18 +03:00
777genius
331166216e feat(team-runtime): snapshot catalog-backed picker baseline 2026-04-21 15:29:23 +03:00
777genius
7a337b6268 feat(codex): add app-server model catalog 2026-04-21 12:45:34 +03:00
777genius
98a9c25cfe fix(validate): normalize provider backend ids 2026-04-20 22:07:02 +03:00
777genius
5683973c04 feat(codex): add app-server account management and polish native UX 2026-04-20 20:18:21 +03:00
777genius
8093201b78 Merge remote-tracking branch 'origin/dev' into spike/codex-native-runtime-plan
# Conflicts:
#	docs/research/codex-native-runtime-integration-decision.md
2026-04-20 19:42:49 +03:00
777genius
8fa107d055 style(ci): normalize provisioning error throw formatting 2026-04-20 11:08:40 +03:00
777genius
5f05ab0919 fix(ci): restore dev validate after virtualization merge 2026-04-20 11:06:40 +03:00
777genius
cb62acb4fb fix(team): harden restart and session refresh flows 2026-04-19 22:34:43 +03:00
777genius
1f7dd2100f refactor(runtime): remove legacy codex lanes 2026-04-19 22:22:13 +03:00
777genius
41f0b0d1d1 feat(team): enhance TeamMessageFeedService caching and logging
- Introduced caching mechanism with expiration for message feeds to improve performance.
- Added logging for cache expiration events to aid in debugging.
- Updated MessagesPanel to reopen search bar when participant filters are active.
- Added test cases for handling tmux server errors and message panel behavior with filters.
2026-04-19 22:04:44 +03:00
777genius
b5dfa14868 feat(runtime): enable codex-native limited internal unlock 2026-04-19 20:49:29 +03:00
777genius
1d3d7e1f1f fix(team): harden teammate restart lifecycle 2026-04-19 20:17:41 +03:00
777genius
1e2241aead chore: checkpoint workspace before relaunch flow 2026-04-19 16:08:38 +03:00
777genius
98657f8b5f fix(team): harden retained log cleanup fallback 2026-04-19 09:00:45 +03:00
777genius
6ff9a28ccc feat(team): enhance Claude logs handling and improve retrieval logic
- Updated `getClaudeLogs` method to support asynchronous fetching of logs.
- Introduced new interfaces for retained logs and transcript cache entries.
- Added logic to retain and retrieve Claude logs even after cleanup of live runs.
- Implemented fallback mechanism to use persisted transcripts when no live run exists.
- Updated tests to cover new log retention and retrieval scenarios.
2026-04-19 01:38:58 +03:00
777genius
d766d174e3 fix(ci): stabilize windows mcp preflight cleanup 2026-04-18 22:49:00 +03:00
777genius
dac7b4f875 Merge remote-tracking branch 'origin/dev' into spike/team-snapshot-split-plan 2026-04-18 21:08:41 +03:00
777genius
2088ddcdaa Merge branch 'dev' of https://github.com/777genius/claude_agent_teams_ui into dev 2026-04-18 21:06:16 +03:00
Илия
dc4efde401
Merge pull request #62 from sardorb3k/fix/team-progress-payload-cap
fix(team): cap renderer IPC payloads to prevent OOM crashes
2026-04-18 20:52:35 +03:00
777genius
82ca8e29c2 chore(merge): sync local dev into spike/team-snapshot-split-plan 2026-04-18 20:26:36 +03:00
777genius
372d744879 refactor(team): store runtime identity structurally 2026-04-18 20:14:49 +03:00
777genius
571b7fb0f5 feat(team): add member runtime diagnostics and restart controls 2026-04-18 19:17:58 +03:00
777genius
452948b260 fix(team): refine bootstrap and provider diagnostics 2026-04-18 18:32:21 +03:00
Mike
ca5791b801 chore: restore alphabetical import sort in TeamProvisioningService
Autofix-only change. The OOM-fix commit inserted the progressPayload
import into the wrong position relative to AutoResumeService /
idleNotificationMainProcessSemantics, which failed the
simple-import-sort ESLint rule enforced by CI.
2026-04-18 17:57:55 +05:00
Mike
297bd8f533 fix(team): cap renderer IPC payloads to prevent OOM crashes
Users with long-running teams (37+ tasks, 10+ agents for an hour) were
hitting constant renderer crashes (issue #36). Two hot paths were
serializing unbounded histories across IPC on every tick:

- Provisioning progress: emitLogsProgress and updateProgress both
  joined the full provisioningOutputParts array (~20 event-driven call
  sites) plus the full CLI log tail, then fanned that out to the
  renderer. After an hour, each tick shipped multi-megabyte payloads
  and Zustand OOM'd on the immutable state clone.

- Session detail cache: SessionDetail.messages (the raw parsed JSONL)
  was being cached and returned over IPC/HTTP even though the renderer
  only reads session/chunks/processes/metrics. This roughly doubled
  the per-entry cache footprint on large sessions.

Fixes:

- Add progressPayload helpers that cap the log tail to 200 lines and
  assistant output to the last 20 parts; empty/whitespace joins
  collapse to undefined so the noop guard is explicit rather than
  coincidental.

- Apply the cap inside emitLogsProgress, updateProgress, and the two
  inline emission paths (stall warning, retry error). Throttle the
  log-progress tick 300ms -> 1000ms so Zustand can keep up.

- Add stripSessionDetailMessages and call it at every SessionDetail
  production site that crosses IPC/HTTP (both sessions.ts routes,
  both cache stores).

- Raise MAX_CACHE_SESSIONS 5 -> 20 now that the per-entry SessionDetail
  footprint is bounded. Previously 5 forced constant re-parsing on
  every session switch.

Tests: 15 new unit tests covering the helpers (tail slicing, empty
parts, whitespace-only parts, non-mutation of inputs).
2026-04-18 17:44:39 +05:00
777genius
bff5f43da9 Merge branch 'dev' into spike/team-snapshot-split-plan 2026-04-18 15:03:02 +03:00
777genius
0a1831bc5e fix(team): validate agent-teams MCP via direct stdio preflight 2026-04-18 15:00:47 +03:00
777genius
39be3bce75 fix(team): restore task log fallback and block launch auto-assignment 2026-04-18 14:13:15 +03:00
777genius
4f97e9d2d8 Merge branch 'dev' of https://github.com/777genius/claude_agent_teams_ui into spike/team-snapshot-split-plan 2026-04-18 13:55:59 +03:00