## Stack Part 3 of the split. #64047 and #64194 are merged. This PR targets `main`, which has been merged into the branch without rewriting history; the already-merged output-limit and counting changes are preserved. ## Summary Expose Copilot's actual prompt, combined-context, and output limits through the shared model interface. Preserve `max_token_count()` as the existing context capacity; add `max_input_tokens()` for independent prompt limits, defaulting to context capacity for other providers. Existing total-display and telemetry callers keep using `max_token_count()` without fallback expressions. The values come from the provider's model feed, not hard-coded model tables. Missing prompt metadata falls back to context capacity; missing output metadata remains unknown. Use the independent prompt limit when deciding when to auto-compact, while retaining the combined window for total usage display and telemetry. For example, a 90k prompt limit within a 200k context window is not treated as 200k input and does not lose a second output reservation. The existing split-display ring and tooltip use the same usable input capacity. This PR does not enable split display for Copilot, so it does not introduce a visible Copilot input-limit display. No counting endpoints, consent changes, or Delta changes are included. ## Validation - After the review follow-up, all 47 selected Copilot and agent compaction tests passed. Local testing used the existing `gpui_platform/runtime_shaders` feature because the Apple Metal compiler is unavailable. - Scoped script/clippy passed for copilot_chat, agent, and agent_ui. - Formatting and whitespace checks passed. - Fixtures cover unequal prompt/context/output limits, absent/zero metadata, and existing compaction workflows. - Reviewed the complete diff against current main: only the input-limit API, Copilot metadata, its compaction/display consumers, and tests remain. The live tooltip workflow was not exercised. - No live provider calls were made. Downstream Delta integration must use `max_input_tokens()` for input admission when updating its Zed dependency; that pin update remains separate. ## Review follow-up - Added a real Thread regression with 200k context, 90k input, and 16,384 output: compaction changes from inactive at 80,999 tokens to active at 81,000; total displayed capacity remains 200k. - Changed the split input ring to use the same capacity as its tooltip. This does not enable split display for Copilot. - All 47 selected tests passed locally, along with scoped Clippy, formatting, and whitespace checks. Temporarily restoring the incorrect context-limit call made the new regression fail; that mutation was removed. Release Notes: - Fixed auto-compaction thresholds for GitHub Copilot models with a prompt limit below their context window.
Zed
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:
- Web (tracking discussion)
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 specifiederror for a crate you've created? If so, addpublish = falseunder[package]in your crate's Cargo.toml. - Is the error
failed to satisfy license requirementsfor 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 theacceptedarray inscript/licenses/zed-licenses.toml. - Is
cargo-aboutunable to find the license for a dependency? If so, add a clarification field at the end ofscript/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.