Conversation
…ent (Mac) (#894) * feat(agent): add optional ACP conversation module * fix(agent): restore permission UI and stop inactive project sessions * feat(agent): per-project ACP connection with API-key gateway and session history - One agent process and ACP connection per workspace, carrying many sessions; new/list/load sessions come from the agent (session/list, session/load). - Sign in only through the agent's `gateway` auth method with the user's Responses endpoint and API key, sent over stdio; reject agents without it. - Cancel like mainstream ACP clients: one session/cancel, report `cancelled` at once, drop the late reply, reject pending permissions (including ones registered while the cancel is queued). Removes the 5 s session kill. - Detect agent exit via on_close, report stderr tail (key redacted), prepend the executable's directory to PATH, SIGTERM then SIGKILL the recorded tree. - C ABI: replace prompt/cancel/permission with lithe_agent_send_json; stop reasons use ACP wire names; shared fixture covers commands and events. - Opt-in real-agent end-to-end test; timing harness reports ignored tests as skipped instead of passed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(agent): Mac conversation history, provider sign-in, and background sessions - Feature model owns the project's connection: session list, new/switch/load conversations, ordered event delivery, streamed text batching, tool calls merged by toolCallId, and reload-before-prompt after the agent restarts. - Agent sessions follow their project: switching tabs or windows no longer stops them; a background tab shows a dot while a permission is pending. - Settings pick a Responses-protocol AI provider; the key comes from the existing credential resolver. Account logins are never used. - Agent panel: history menu, connect/retry states, Markdown replies, tool status rows, permission bar. - Agent Note and platform matrix updated for the new decisions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(agent): detect Node.js and install ACP adapters with the user's npm - lithe-agent-host catalog of supported agents (Codex verified, Claude not yet verified) mirroring the official ACP registry ids, packages, and versions. - Node.js/npm detection through the login shell's PATH (nvm/fnm visible to GUI apps); per-agent minimum Node versions reported as issues, never fixed. - One-click adapter install into <data>/agents/<id> with the user's npm: staging directory, executable check, atomic swap, cancel and timeout. - Launch by agentId from the managed install; key delivery per adapter (Codex gateway over stdio, Claude ANTHROPIC_* environment) and model delivery (CODEX_CONFIG / ANTHROPIC_MODEL). Custom command agents remain. - Kill the child's process group as well, so descendants forked after the tree snapshot cannot survive and hold output pipes open. - Rust Core commands agent.status / agent.install / agent.uninstall with a shared fixture; contracts updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(agent): Agents and AI Providers settings with per-agent panel selection - Settings › Agents: enable toggle, Node.js/npm status, install / update / uninstall / cancel for each adapter, provider picker filtered by protocol, custom command agent. - Settings › AI Providers: edit any provider without changing the one commit messages use; shows which features use each provider. AI & Commit keeps a "Commit messages use" picker. - Agent panel switches between configured agents; one lazily created connection per agent, attention merged across agents. - Agent Note and platform matrix updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(agent): run the user's Codex CLI instead of downloading a bundled copy - Catalog: Codex adapter drives the user's `codex` (>= 0.156.0, the adapter's dependency range) through CODEX_PATH. - agent.status reports the detected CLI with its version and minimum; a missing or too old CLI is an issue for the user, never installed by Lithe. - Install with --omit=optional for CLI-driven adapters: 18 MB instead of ~390 MB, because Codex platform binaries are optional dependencies. - Launch fails with an actionable message when the CLI is missing or old. - Version parsing handles banners such as `codex-cli 0.156.1`; numeric version comparison. Swift contract type, Agents page row, fixture, tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(agent): move Rust Core agent commands into an owned package Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(agent): sign Claude in through the ACP gateway with the user's Claude Code - All catalog agents now sign in through the ACP `gateway` method over stdio; headers follow the provider protocol (Bearer for Responses, x-api-key for Anthropic). Lithe no longer puts ANTHROPIC_API_KEY in the environment. - Claude drives the user's `claude` (>= 2.1.280, the SDK's claudeCodeVersion) via CLAUDE_CODE_EXECUTABLE and installs with --omit=optional. - Fixture, tests, Agent Note, and contract updated. Claude is still marked not verified: the test gateway returned 503 for every model. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(agent): dock the Agent panel beside the editor The Agent conversation moves from the bottom tool window to the right dock shared with Maven, so the editor stays visible while chatting. The workbench model now owns one right slot instead of a Maven-only flag, and the dock's maximum width grows to 760 to fit the panel's list-plus-detail settings. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * feat(agent): redesign the Agent panel and move its settings inside Conversation panel: session header with new/history/settings actions, one tab per open conversation, centered agent mark with version that switches agents, Markdown replies with copyable code blocks, tool call rows, a permission card, a Tasks/Running/Edits summary bar, and a bordered composer with agent and model chips and a stop button. The full layout always renders; sending validates the setup first and points to the in-panel settings. Settings live in the panel (icon rail plus content) and only manage agents: feature switch, segmented agent switcher with preflight status, version status card, a PASS/WARN/FAIL preflight checklist with one-click fixes, and a "fetch local configuration" card that follows the user's own Codex or Claude CLI files instead of a separate provider editor. The global Settings › Agents page is removed. Rust: `agent.installCli` installs or updates the agent's CLI globally with the user's npm on explicit request; catalog and status carry the CLI's npm package. An outdated CLI no longer blocks installing the adapter. Preflight and error copy is generated in Swift from the structured status so it localizes; Simplified Chinese strings added for the panel. Management tests wait on a clock deadline instead of a yield count. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * test(agent): wait on publications instead of real sleeps The stability gate rejects real-time sleeps in tests. The management tests now await the feature model's publications with the shared observable waiter, and the test service resumes a continuation when the install is entered, with a dispatch deadline as the only timeout arm. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * feat(agent): complete session controls and reliable ACP recovery Expose upstream model, permission and reasoning options; render tool evidence and queued approvals; wait for cancellation acknowledgement with bounded recovery; preserve failed history loads; refine the chat panel and validate real development workflows. * feat(agent): show live npm download progress * fix(agent): update CLI through its installation owner * fix(agent): verify CLI updates after installer retry failures * fix(agent): refresh local default model and use vendor model icons * fix(agent): resolve stale models using upstream recommendations * feat(agent): add CC GUI style model and permission selectors * feat(agent): support file references in conversations * fix(ci): resolve Windows file URI and Maven width tests --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Mucheen <1528136628@qq.com>
* 修复:统一双端 Git 提交图分支颜色 * fix(ci): supplement Git graph platform feature matrix --------- Co-authored-by: lick <2188718831@qq.com>
* fix(git): preserve Windows repository path identity (#627) * test(git): verify explicit Windows long-directory startup failure * test(git): use frontend-normalized worktree creation paths * ci(git): reuse the runner Node runtime for path tests
Co-authored-by: lick <2188718831@qq.com>
…tion (#927) Co-authored-by: lick <2188718831@qq.com>
* feat(agent): support local and custom provider configuration * fix(agent): recreate unprompted sessions after reconnect --------- Co-authored-by: lick <2188718831@qq.com>
* feat(windows): 在设置中新增 Maven 配置页并统一三处 Maven 配置 * feat(windows): 在设置中新增 Maven 配置页并统一三处 Maven 配置 * feat(windows): 在设置中新增 Maven 配置页并统一三处 Maven 配置 * feat(windows): 在设置中新增 Maven 配置页并统一三处 Maven 配置 * fix: 补齐 Maven 设置矩阵并修复保存重试、检测竞态及仓库回退 * fix(windows): 恢复 Maven 生效配置解析 * fix(windows): make Maven settings detection bounded and accurate --------- Co-authored-by: Jay <jay@sztus.com> Co-authored-by: Lichenkang <2188718831@qq.com> Co-authored-by: Jay <fan_jie@sonadora.com.cn>
Preserve spring.index endpoints, add a bottom-pane endpoint view, and expose local workspace navigation with lifecycle and failure states. Co-authored-by: milestone <345198561@qq.com> Co-authored-by: Lichenkang <2188718831@qq.com>
Co-authored-by: lick <2188718831@qq.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.