feat(app): add ByteDance TRAE CLI to the ACP provider catalog (#1831)
* feat(app): add ByteDance TRAE CLI to the ACP provider catalog Adds the official ByteDance TRAE CLI (traecli) to the in-app ACP provider catalog. traecli is ACP-native, so Paseo drives it over the standard ACP transport via `traecli acp serve`, reusing the generic ACP client exactly like Kiro, Qoder, Cursor, and Gemini. - catalog: traecli entry (command ["traecli","acp","serve"], manual install) - icon: vendored TRAE monogram SVG + registered icon name - docs: supported-providers list + CHANGELOG - tests: focused command + icon-name assertions Verified against the real traecli ACP surface in multica-ai/multica#4724. * feat(app): use the real TRAE app logo for the traecli provider icon * docs: drop TRAE CLI changelog entry --------- Co-authored-by: Mohamed Boudra <boudra.moha@gmail.com>
This commit is contained in:
co-authored by
Mohamed Boudra
parent
3708eddbcd
commit
5a0ea3385e
File diff suppressed because one or more lines are too long
@@ -18,6 +18,7 @@ describe("resolveProviderIconName", () => {
|
|||||||
it("returns the catalog identifier for ACP catalog provider ids that ship an icon", () => {
|
it("returns the catalog identifier for ACP catalog provider ids that ship an icon", () => {
|
||||||
expect(resolveProviderIconName("amp-acp")).toEqual({ kind: "catalog", id: "amp-acp" });
|
expect(resolveProviderIconName("amp-acp")).toEqual({ kind: "catalog", id: "amp-acp" });
|
||||||
expect(resolveProviderIconName("gemini")).toEqual({ kind: "catalog", id: "gemini" });
|
expect(resolveProviderIconName("gemini")).toEqual({ kind: "catalog", id: "gemini" });
|
||||||
|
expect(resolveProviderIconName("traecli")).toEqual({ kind: "catalog", id: "traecli" });
|
||||||
});
|
});
|
||||||
|
|
||||||
it("falls back to the bot icon for unknown custom providers", () => {
|
it("falls back to the bot icon for unknown custom providers", () => {
|
||||||
|
|||||||
@@ -335,6 +335,15 @@ const CATALOG_DATA = [
|
|||||||
installLink: "https://stakpak.dev/",
|
installLink: "https://stakpak.dev/",
|
||||||
command: ["stakpak", "acp"],
|
command: ["stakpak", "acp"],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: "traecli",
|
||||||
|
title: "TRAE CLI",
|
||||||
|
description: "ByteDance's official TRAE coding agent with native ACP support",
|
||||||
|
version: "manual",
|
||||||
|
iconId: "traecli",
|
||||||
|
installLink: "https://docs.trae.cn/cli",
|
||||||
|
command: ["traecli", "acp", "serve"],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "vtcode",
|
id: "vtcode",
|
||||||
title: "VT Code",
|
title: "VT Code",
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ describe("ACP provider catalog", () => {
|
|||||||
expect(findProvider("junie").command).toEqual(["junie", "--acp", "true"]);
|
expect(findProvider("junie").command).toEqual(["junie", "--acp", "true"]);
|
||||||
expect(findProvider("kiro").command).toEqual(["kiro-cli", "acp"]);
|
expect(findProvider("kiro").command).toEqual(["kiro-cli", "acp"]);
|
||||||
expect(findProvider("poolside").command).toEqual(["pool", "acp"]);
|
expect(findProvider("poolside").command).toEqual(["pool", "acp"]);
|
||||||
|
expect(findProvider("traecli").command).toEqual(["traecli", "acp", "serve"]);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("maps a catalog entry to the daemon provider config patch", () => {
|
it("maps a catalog entry to the daemon provider config patch", () => {
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ export const ACP_PROVIDER_ICON_NAMES = [
|
|||||||
"qwen-code",
|
"qwen-code",
|
||||||
"sigit",
|
"sigit",
|
||||||
"stakpak",
|
"stakpak",
|
||||||
|
"traecli",
|
||||||
"vtcode",
|
"vtcode",
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ Pick any of these from the in-app provider catalog. Each entry is a one-click in
|
|||||||
- [Qwen Code](https://qwenlm.github.io/qwen-code-docs/en/users/overview), Alibaba's Qwen coding assistant.
|
- [Qwen Code](https://qwenlm.github.io/qwen-code-docs/en/users/overview), Alibaba's Qwen coding assistant.
|
||||||
- [siGit Code](https://github.com/getsigit/sigit), local-first coding agent with optional on-device LLM.
|
- [siGit Code](https://github.com/getsigit/sigit), local-first coding agent with optional on-device LLM.
|
||||||
- [Stakpak](https://stakpak.dev/), Rust-based DevOps agent.
|
- [Stakpak](https://stakpak.dev/), Rust-based DevOps agent.
|
||||||
|
- [TRAE CLI](https://docs.trae.cn/cli), ByteDance's official TRAE coding agent.
|
||||||
- [VT Code](https://github.com/vinhnx/VTCode/blob/main/docs/guides/zed-acp.md), open-source multi-provider coding agent.
|
- [VT Code](https://github.com/vinhnx/VTCode/blob/main/docs/guides/zed-acp.md), open-source multi-provider coding agent.
|
||||||
|
|
||||||
The in-app catalog is the canonical, version-pinned source. Anything not listed here can still be added manually, see [Custom providers](/docs/custom-providers).
|
The in-app catalog is the canonical, version-pinned source. Anything not listed here can still be added manually, see [Custom providers](/docs/custom-providers).
|
||||||
|
|||||||
Reference in New Issue
Block a user