Commit graph

26 commits

Author SHA1 Message Date
777genius
58a0eb603d build(runtime): require Node 24 toolchain 2026-05-26 19:44:23 +03:00
777genius
cbf5356fdc fix(runtime): prefer shell node for GUI launches 2026-05-24 01:00:03 +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
587c974c63 fix(team): harden packaged mcp runtime 2026-05-22 16:49:02 +03:00
777genius
5551eea482 fix(runtime): harden local launch plumbing 2026-05-22 15:42:51 +03:00
777genius
a386e30667 fix(team): harden launch diagnostics and MCP shutdown 2026-05-22 00:20:47 +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
2b50def03e fix(opencode): preserve packaged runtime env 2026-05-18 21:48:06 +03:00
iliya
876527a51d fix(runtime): hide direct child process windows 2026-05-16 00:45:58 +03:00
Mike
7609c548c5 fix(tests): resolve pre-existing test failures on non-standard environments
- TeamProvisioningServiceRelay: add missing stat fields (mode, dev, ino,
  mtimeMs, ctimeMs, birthtimeMs) to fs mock so new fingerprint-based
  TeamConfigReader cache can read config in tests
- TeamMcpConfigBuilder: export clearResolvedNodePathForTests() to reset
  module-level node path cache between tests; restore execFileMock
  implementation in beforeEach after vi.restoreAllMocks() clears it;
  broaden node binary regex to accept versioned names (node-22, node-20)
  common on Fedora/RHEL systems
- ScheduledTaskExecutor: strip CLAUDECODE at spawn site as last defence
  so nested-session detection is prevented even when buildProviderAwareCliEnv
  merges it back in from the outer process environment
2026-05-02 20:10:42 +05:00
777genius
7fa71019b2 fix: launch dev mcp server via node 2026-04-29 22:43:42 +03:00
777genius
10188109eb fix(team-mcp): route agent teams mcp to app state 2026-04-29 22:43:41 +03:00
iliya
5a8a934d8d fix: make Windows agent launches independent of tmux 2026-04-29 12:30:37 +03:00
777genius
d517f2b320 feat(team): harden member runtime liveness 2026-04-24 16:18:12 +03:00
777genius
55b369de96 fix(ci): stabilize team runtime lane validation 2026-04-23 22:17:20 +03:00
777genius
08b7e53e77 test(team): stabilize mcp builder workspace entry checks 2026-04-12 00:07:31 +03:00
iliya
17bd573ce3 fix(team-runtime): harden refresh flows and reduce ui churn 2026-04-09 16:34:55 +03:00
iliya
822bbac23c feat(agent-teams): integrate MCP tool catalog and enhance tool registration
- Added mcpToolCatalog to the agent-teams-controller, exporting new types and constants for MCP tool groups and names.
- Updated tools registration to utilize AGENT_TEAMS_MCP_TOOL_GROUPS for streamlined tool management.
- Enhanced tests to validate the new operational permissions and ensure correct tool registration behavior.
2026-03-30 17:58:17 +03:00
iliya
93f160d731 fix(team): ensure MCP config cleanup on spawn failures
- Added logic to remove generated MCP config files when team creation or launch fails due to spawn errors.
- Updated tests to verify that MCP config files are correctly removed in failure scenarios, ensuring no leftover configurations persist.
- Enhanced error handling in the TeamProvisioningService to maintain clean state during provisioning operations.
2026-03-29 01:53:16 +02:00
iliya
1ce6ace8b8 fix(team): move MCP config storage from /tmp to userData
MCP config files were stored in os.tmpdir() with no cleanup, and
the MCP server ran from the AppImage FUSE mount path which could
be inaccessible to Claude CLI subprocesses on Linux (fixes #31).

Changes:
- Store MCP configs in app.getPath('userData')/mcp-configs/ with
  pid+timestamp filenames for safe multi-instance operation
- Copy MCP server to userData/mcp-server/<version>/ via atomic
  temp-dir + rename (eliminates FUSE mount dependency)
- Add per-run cleanup in cleanupRun(), startup stale GC (7d TTL),
  and shutdown own-pid GC
- Add --mcp-config recovery in respawnAfterAuthFailure()
- Add setAppDataBasePath(null) reset for test isolation
2026-03-29 01:29:48 +02:00
iliya
729a756f29 fix: resolve CI failures across all platforms
- Fix TS error: use kanbanTaskState?.reviewer instead of task.reviewer
  (reviewer exists on KanbanTaskState, not TeamTask)
- Fix crossTeam tests: update assertions to match XML tag protocol format
  (CROSS_TEAM_PREFIX_TAG → CROSS_TEAM_TAG_NAME with XML attributes)
- Fix controller test: use 'bob' instead of 'alice' as commenter
  (alice is the lead = same as task owner, so no notification fires)
- Fix TeamMcpConfigBuilder test: use path.join() for cross-platform paths
  (forward slashes fail on Windows where path.join uses backslashes)
- Fix atomicWrite EPERM on Windows: add retry logic for rename operations
  (Windows CI antivirus can briefly hold files, causing EPERM on rename)
2026-03-16 19:56:06 +02:00
iliya
1ccc1432fc feat: enhance task change handling and improve plugin catalog integration
- Added a 'source' field to PluginCatalogItem to distinguish between official and third-party plugins.
- Refactored ChangeExtractorService to improve caching mechanisms and normalize file paths for better consistency.
- Updated TaskBoundaryParser to support task IDs with underscores, enhancing task identification.
- Enhanced TeamMcpConfigBuilder to merge user-defined MCP configurations with generated ones, improving configuration management.
- Improved UI components to display source information for plugins and MCP servers, enhancing user experience and clarity.
2026-03-11 18:16:40 +02:00
iliya
c93f3a4181 feat: enhance cross-team messaging with new parameters and recipient handling
- Added optional parameters 'conversationId' and 'replyToConversationId' to the cross-team messaging tool for improved threading.
- Updated the TeamMemberResolver to ignore tool-like cross-team inbox names, ensuring cleaner member resolution.
- Enhanced TeamProvisioningService to handle explicit cross-team reply instructions and prevent relaying tool-like names.
- Improved tests to validate new cross-team messaging features and recipient handling, ensuring robust functionality across services.
2026-03-10 15:40:42 +02:00