Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter. https://zed.dev
  • Rust 95%
  • JSON-with-Comments 2.6%
  • Python 0.8%
  • Inno Setup 0.3%
  • Tree-sitter Query 0.3%
  • Other 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Ben Brandt 23d10a4754
acp_thread: Append streamed tool-call content (#65090)
## Summary

Add a typed SDK v2 tool-content append path. `ToolCallContentChunk`
appends one complete item; `ToolCallUpdate.content` still replaces the
collection. No wire handler or protocol selection is added.

- Target exact/historical tool IDs without rebuilding the existing
snapshot. New IDs create minimal records with reported fields unset;
this is a lenient client policy.
- Reuse item preparation and registered terminal placeholders. Preserve
existing render entities, native diff ownership, tool
status/permissions/metadata/locations/raw values, and normal raw-output
fallback behavior.
- Emit updates for the actual row; only new rows use the existing
streaming-flush boundary.
- Retain item/body metadata. Delivery-scoped chunk `_meta` is not
promoted into aggregate state or stored as a separate history, matching
message chunks.

## Review guide

Production code is unchanged by the cleanup:

- [Append and fallback
refresh](a15b15ecc1/crates/acp_thread/src/acp_thread.rs (L1574)).
- [Shared single-item
preparation](a15b15ecc1/crates/acp_thread/src/acp_thread.rs (L2949)).
- [Exact-ID append and first-seen
defaults](a15b15ecc1/crates/acp_thread/src/acp_thread.rs (L5332)).

Coverage is now three focused regressions, reduced from seven and
approximately **1,000 → 300 test lines**:

1.
[Ordering/targeting](a15b15ecc1/crates/acp_thread/src/acp_thread.rs (L13068)):
historical ID, append vs replacement, clear/raw fallback, defaults,
metadata isolation, original Markdown, and row events.
2.
[Preservation](a15b15ecc1/crates/acp_thread/src/acp_thread.rs (L13180)):
real permission waiter, reported state, native diff identity, and
unrelated buffered text/new-row flush.
3. [UI
integration](a15b15ecc1/crates/agent_ui/src/conversation_view.rs (L10077)):
an existing expanded search automatically refreshes after older-tool
append, while row/entity identity and the later tool remain unchanged.

Broad content-variant, full diff-editor, and repeated render/search
matrices remain covered by existing tests rather than being repeated
here. Fixtures use SDK builders; no helper framework was added.

## Validation

- Full suites: **240 core**, **496 UI** (serial).
- Two core regressions: **100 seeds**; UI regression: **20 seeds**.
- Six-package `./script/clippy`, formatting and `git diff --check`
passed.
- Production text was verified byte-for-byte unchanged by this test-only
cleanup.

## Suggested .rules additions

GPUI testing guidance: `VisualTestContext::debug_bounds` needs a static
selector. Reuse allocated fixture selectors for runtime IDs; do not
borrow temporary `&format!(...)` strings.

Release Notes:

- N/A
2026-10-02 14:52:16 +00:00
.agents/skills gpui: Add seeded benchmarks and heap allocation metrics (#64843) 2026-09-28 13:02:30 +00:00
.cargo Disable share generics to reduce the binary size more (#64335) 2026-09-18 10:49:35 +00:00
.cloudflare Improve docs AI readiness (#59577) 2026-07-08 20:54:51 +00:00
.config extensions_ui: Sync suggested extensions with the live registry (#63211) 2026-09-23 20:50:24 +00:00
.factory Add humanizer skill for AI writing pattern detection (#50021) 2026-02-24 14:58:52 -06:00
.github Remove visual test binary CI build (#64927) 2026-09-29 13:12:18 +00:00
.wezel Replace incremental build scenario with binary size (#64453) 2026-09-18 22:40:24 +00:00
.zed Move some configuration files out of the repository root (#64303) 2026-09-16 14:08:49 +00:00
assets copilot: Move enterprise URI to top-level setting (#65082) 2026-10-02 11:22:04 +00:00
ci Move Nightly release to gh-workflow (#41349) 2025-10-28 13:57:23 -06:00
crates acp_thread: Append streamed tool-call content (#65090) 2026-10-02 14:52:16 +00:00
docs copilot: Move enterprise URI to top-level setting (#65082) 2026-10-02 11:22:04 +00:00
extensions html: Bump to v0.3.2 (#64371) 2026-09-17 09:59:21 +00:00
legal legal: Use absolute URLs for Terms of Service and Privacy Policy links (#62684) 2026-08-17 09:35:54 +00:00
nix Move corgi-patches into tooling (#64292) 2026-09-17 08:04:39 +00:00
script Update dependency urllib3 to v2.8.0 [SECURITY] (#64995) 2026-10-02 07:57:16 +00:00
tooling Remove visual test binary CI build (#64927) 2026-09-29 13:12:18 +00:00
.git-blame-ignore-revs Add PR 50413 to .git-blame-ignore-revs (#50421) 2026-03-01 00:50:33 +01:00
.gitattributes windows: Make sure zed.sh using the correct line ending (#37650) 2025-09-05 16:25:55 +00:00
.gitignore edit_prediction: Adjust to support Ollama to be used for AI edit prediction (#63519) 2026-09-01 16:07:40 +00:00
.mailmap Update .mailmap (#47413) 2026-01-22 23:57:26 +05:30
.prettierrc ci: Add check for formatting default.json (#30034) 2025-05-06 18:55:26 +00:00
.rules gpui: Add bench_metrics for multi-metric Criterion benchmarks (#64753) 2026-09-27 17:37:29 +00:00
AGENTS.md ai: Symlink an AGENTS.md file to .rules (#45939) 2026-01-19 15:29:42 +01:00
Cargo.lock gpui_shared_string: Avoid intermediate string allocation when deserializing a SharedString (#65089) 2026-10-02 13:48:20 +00:00
Cargo.toml gpui_apple: Share dispatcher and Metal renderer with iOS (#64990) 2026-09-30 22:13:38 +00:00
CLAUDE.md Initial .rules file for agent with symlinks for other rules file paths (#29014) 2025-04-17 23:41:23 +00:00
clippy.toml Revert "Revert scheduler update (#46659)" (#46671) 2026-01-14 07:19:13 +00:00
CODE_OF_CONDUCT.md Remove community content from docs and point to zed.dev (#19895) 2024-10-29 09:44:58 -04:00
compose.yml Move some configuration files out of the repository root (#64303) 2026-09-16 14:08:49 +00:00
CONTRIBUTING.md Improve contribution guidelines and experience (#64296) 2026-09-25 15:42:49 +00:00
corgi.toml gpui_macos: Migrate screen capture to objc2 (#64251) 2026-09-17 01:46:02 +00:00
default.nix nix: Use flake-parts, partitions, and treefmt-nix (#45321) 2026-02-02 14:26:42 +00:00
Dockerfile-collab Bump Rust to 1.98.1 (#63010) 2026-09-11 09:13:44 +00:00
Dockerfile-collab.dockerignore ci: Move collab to Dockerfile-collab (#18515) 2024-09-30 16:14:26 -04:00
Dockerfile-cross.dockerignore Add remote server cross compilation (#19136) 2024-10-12 23:23:56 -07:00
Dockerfile-distros Removal of mold/wild scripts and mentions in docs (#53078) 2026-04-08 21:20:02 +03:00
Dockerfile-distros.dockerignore Support More Linux (#18480) 2024-09-30 17:46:21 -04:00
flake.lock Bump Rust to 1.98.1 (#63010) 2026-09-11 09:13:44 +00:00
flake.nix ci: Remove garnix substitutor (#58033) 2026-05-29 05:56:42 +00:00
GEMINI.md Add missing GEMINI.md rule file for gemini-cli (#38885) 2025-10-02 09:47:29 -04:00
LICENSE-APACHE Update license year (#24191) 2025-02-04 09:02:59 -05:00
LICENSE-GPL Licenses: change license fields in Cargo.toml to AGPL-3.0-or-later. (#5535) 2024-01-27 13:51:16 +01:00
Procfile Update instructions for local collaboration (#35689) 2025-08-06 11:10:28 -07:00
Procfile.web Remove PostgREST (#41299) 2025-10-27 13:27:59 -04:00
README.md markdown: Restore fallback language highlighting for untagged code blocks (#63023) 2026-08-21 16:00:50 +00:00
rust-toolchain.toml Bump Rust to 1.98.1 (#63010) 2026-09-11 09:13:44 +00:00
rustfmt.toml nix: Use flake-parts, partitions, and treefmt-nix (#45321) 2026-02-02 14:26:42 +00:00
shell.nix nix: Use flake-parts, partitions, and treefmt-nix (#45321) 2026-02-02 14:26:42 +00:00

Zed

Zed CI

Welcome to Zed, a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.


Installation

On macOS, Linux, and Windows you can download Zed directly or install Zed via your local package manager (macOS/Linux/Windows).

Other platforms are not yet available:

Developing Zed

Contributing

See CONTRIBUTING.md for ways you can contribute to Zed.

Also... we're hiring! Check out our jobs page for open roles.

Licensing

Zed source code is licensed primarily under GPL-3.0-or-later, with Apache-2.0 components where marked.

License information for third party dependencies must be correctly provided for CI to pass.

We use cargo-about to automatically comply with open source licenses. If CI is failing, check the following:

  • Is it showing a no license specified error for a crate you've created? If so, add publish = false under [package] in your crate's Cargo.toml.
  • Is the error failed to satisfy license requirements for a dependency? If so, first determine what license the project has and whether this system is sufficient to comply with this license's requirements. If you're unsure, ask a lawyer. Once you've verified that this system is acceptable add the license's SPDX identifier to the accepted array in script/licenses/zed-licenses.toml.
  • Is cargo-about unable to find the license for a dependency? If so, add a clarification field at the end of script/licenses/zed-licenses.toml, as specified in the cargo-about book.

Sponsorship

Zed is developed by Zed Industries, Inc., a for-profit company.

If you’d like to financially support the project, you can do so via GitHub Sponsors. Sponsorships go directly to Zed Industries and are used as general company revenue. There are no perks or entitlements associated with sponsorship.