Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
3aaffc7
Render finalized agent responses as Markdown
DinahK-2SO Aug 19, 2026
7aeb141
Render streaming agent responses as Markdown
DinahK-2SO Aug 19, 2026
a5adc63
Add Markdown rendering setting contract
DinahK-2SO Aug 19, 2026
2585b83
Add Markdown rendering setting UI
DinahK-2SO Aug 20, 2026
2960668
Add Markdown helper bootstrap flag
DinahK-2SO Aug 20, 2026
9c5e07e
Honor Markdown rendering mode in agent chat
DinahK-2SO Aug 20, 2026
c73fe0a
Hot-reload Markdown rendering mode
DinahK-2SO Aug 20, 2026
df8a15b
Pass Markdown setting to WTA helpers
DinahK-2SO Aug 20, 2026
5ce3998
Hot-reload Markdown setting from Terminal
DinahK-2SO Aug 20, 2026
65335ef
Prepare chat layout once per frame
DinahK-2SO Aug 20, 2026
f78aa93
Retain completed turn layouts across frames
DinahK-2SO Aug 20, 2026
1912ebf
Materialize retained chat turns on demand
DinahK-2SO Aug 20, 2026
2865f1f
Retain completed turn height index
DinahK-2SO Aug 20, 2026
4879163
Reveal streaming text by grapheme
DinahK-2SO Aug 20, 2026
3be7902
Index streaming graphemes incrementally
DinahK-2SO Aug 20, 2026
e333f3b
Vendor tui-markdown 0.3.9 unchanged
DinahK-2SO Aug 21, 2026
6e0e00b
Expose Markdown source ranges from canonical render
DinahK-2SO Aug 21, 2026
0cf1161
Cache stable streaming Markdown blocks
DinahK-2SO Aug 20, 2026
30a2bb7
Retain chat height indices across tabs
DinahK-2SO Aug 20, 2026
03f2d99
Merge branch 'main' into user/DinahK-2SO/markdown-renderer2-publish
DinahK-2SO Aug 21, 2026
6f6a012
Address Markdown review feedback
DinahK-2SO Aug 20, 2026
c7f27c1
Merge origin/main into Markdown renderer 2
DinahK-2SO Aug 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 33 additions & 2 deletions NOTICE.md
Original file line number Diff line number Diff line change
Expand Up @@ -617,6 +617,7 @@ if it were canonical for the whole group.
- **deranged** v0.5.8 -- [https://github.com/jhpratt/deranged](https://github.com/jhpratt/deranged) -- `Apache-2.0 OR MIT`
- **derive_more** v2.1.1 -- [https://github.com/JelteF/derive_more](https://github.com/JelteF/derive_more) -- `MIT`
- **derive_more-impl** v2.1.1 -- [https://github.com/JelteF/derive_more](https://github.com/JelteF/derive_more) -- `MIT`
- **diff** v0.1.13 -- [https://github.com/utkarshkukreti/diff.rs](https://github.com/utkarshkukreti/diff.rs) -- `Apache-2.0 OR MIT`
- **digest** v0.10.7 -- [https://github.com/RustCrypto/traits](https://github.com/RustCrypto/traits) -- `Apache-2.0 OR MIT`
- **document-features** v0.2.12 -- [https://github.com/slint-ui/document-features](https://github.com/slint-ui/document-features) -- `Apache-2.0 OR MIT`
- **dyn-clone** v1.0.20 -- [https://github.com/dtolnay/dyn-clone](https://github.com/dtolnay/dyn-clone) -- `Apache-2.0 OR MIT`
Expand Down Expand Up @@ -648,8 +649,10 @@ if it were canonical for the whole group.
- **futures-macro** v0.3.32 -- [https://github.com/rust-lang/futures-rs](https://github.com/rust-lang/futures-rs) -- `Apache-2.0 OR MIT`
- **futures-sink** v0.3.32 -- [https://github.com/rust-lang/futures-rs](https://github.com/rust-lang/futures-rs) -- `Apache-2.0 OR MIT`
- **futures-task** v0.3.32 -- [https://github.com/rust-lang/futures-rs](https://github.com/rust-lang/futures-rs) -- `Apache-2.0 OR MIT`
- **futures-timer** v3.0.4 -- [https://github.com/async-rs/futures-timer](https://github.com/async-rs/futures-timer) -- `Apache-2.0 OR MIT`
- **futures-util** v0.3.32 -- [https://github.com/rust-lang/futures-rs](https://github.com/rust-lang/futures-rs) -- `Apache-2.0 OR MIT`
- **generic-array** v0.14.7 -- [https://github.com/fizyk20/generic-array.git](https://github.com/fizyk20/generic-array.git) -- `MIT`
- **getopts** v0.2.24 -- [https://github.com/rust-lang/getopts](https://github.com/rust-lang/getopts) -- `Apache-2.0 OR MIT`
- **getrandom** v0.3.4 -- [https://github.com/rust-random/getrandom](https://github.com/rust-random/getrandom) -- `Apache-2.0 OR MIT`
- **getrandom** v0.4.2 -- [https://github.com/rust-random/getrandom](https://github.com/rust-random/getrandom) -- `Apache-2.0 OR MIT`
- **glob** v0.3.3 -- [https://github.com/rust-lang/glob](https://github.com/rust-lang/glob) -- `Apache-2.0 OR MIT`
Expand All @@ -669,6 +672,7 @@ if it were canonical for the whole group.
- **is_terminal_polyfill** v1.70.2 -- [https://github.com/polyfill-rs/is_terminal_polyfill](https://github.com/polyfill-rs/is_terminal_polyfill) -- `Apache-2.0 OR MIT`
- **itertools** v0.11.0 -- [https://github.com/rust-itertools/itertools](https://github.com/rust-itertools/itertools) -- `Apache-2.0 OR MIT`
- **itertools** v0.14.0 -- [https://github.com/rust-itertools/itertools](https://github.com/rust-itertools/itertools) -- `Apache-2.0 OR MIT`
- **itertools** v0.15.0 -- [https://github.com/rust-itertools/itertools](https://github.com/rust-itertools/itertools) -- `Apache-2.0 OR MIT`
- **itoa** v1.0.17 -- [https://github.com/dtolnay/itoa](https://github.com/dtolnay/itoa) -- `Apache-2.0 OR MIT`
- **kasuari** v0.4.11 -- [https://github.com/ratatui/kasuari](https://github.com/ratatui/kasuari) -- `Apache-2.0 OR MIT`
- **lab** v0.11.0 -- [https://github.com/TooManyBees/lab](https://github.com/TooManyBees/lab) -- `MIT`
Expand Down Expand Up @@ -716,7 +720,11 @@ if it were canonical for the whole group.
- **polling** v3.11.0 -- [https://github.com/smol-rs/polling](https://github.com/smol-rs/polling) -- `Apache-2.0 OR MIT`
- **portable-atomic** v1.13.1 -- [https://github.com/taiki-e/portable-atomic](https://github.com/taiki-e/portable-atomic) -- `Apache-2.0 OR MIT`
- **powerfmt** v0.2.0 -- [https://github.com/jhpratt/powerfmt](https://github.com/jhpratt/powerfmt) -- `Apache-2.0 OR MIT`
- **pretty_assertions** v1.4.1 -- [https://github.com/rust-pretty-assertions/rust-pretty-assertions](https://github.com/rust-pretty-assertions/rust-pretty-assertions) -- `Apache-2.0 OR MIT`
- **proc-macro-crate** v3.5.0 -- [https://github.com/bkchr/proc-macro-crate](https://github.com/bkchr/proc-macro-crate) -- `Apache-2.0 OR MIT`
- **proc-macro2** v1.0.106 -- [https://github.com/dtolnay/proc-macro2](https://github.com/dtolnay/proc-macro2) -- `Apache-2.0 OR MIT`
- **pulldown-cmark** v0.13.4 -- [https://github.com/raphlinus/pulldown-cmark](https://github.com/raphlinus/pulldown-cmark) -- `MIT`
- **pulldown-cmark-escape** v0.11.0 -- [https://github.com/raphlinus/pulldown-cmark](https://github.com/raphlinus/pulldown-cmark) -- `MIT`
- **pxfm** v0.1.29 -- [https://github.com/awxkee/pxfm](https://github.com/awxkee/pxfm) -- `Apache-2.0 OR BSD-3-Clause`
- **quote** v1.0.45 -- [https://github.com/dtolnay/quote](https://github.com/dtolnay/quote) -- `Apache-2.0 OR MIT`
- **rand** v0.8.5 -- [https://github.com/rust-random/rand](https://github.com/rust-random/rand) -- `Apache-2.0 OR MIT`
Expand All @@ -732,6 +740,9 @@ if it were canonical for the whole group.
- **regex** v1.12.3 -- [https://github.com/rust-lang/regex](https://github.com/rust-lang/regex) -- `Apache-2.0 OR MIT`
- **regex-automata** v0.4.14 -- [https://github.com/rust-lang/regex](https://github.com/rust-lang/regex) -- `Apache-2.0 OR MIT`
- **regex-syntax** v0.8.10 -- [https://github.com/rust-lang/regex](https://github.com/rust-lang/regex) -- `Apache-2.0 OR MIT`
- **relative-path** v1.9.3 -- [https://github.com/udoprog/relative-path](https://github.com/udoprog/relative-path) -- `Apache-2.0 OR MIT`
- **rstest** v0.26.1 -- [https://github.com/la10736/rstest](https://github.com/la10736/rstest) -- `Apache-2.0 OR MIT`
- **rstest_macros** v0.26.1 -- [https://github.com/la10736/rstest](https://github.com/la10736/rstest) -- `Apache-2.0 OR MIT`
- **rust-i18n** v3.1.5 -- [https://github.com/longbridge/rust-i18n](https://github.com/longbridge/rust-i18n) -- `MIT`
- **rust-i18n-macro** v3.1.5 -- [https://github.com/longbridge/rust-i18n](https://github.com/longbridge/rust-i18n) -- `MIT`
- **rust-i18n-support** v3.1.5 -- [https://github.com/longbridge/rust-i18n](https://github.com/longbridge/rust-i18n) -- `MIT`
Expand Down Expand Up @@ -791,7 +802,10 @@ if it were canonical for the whole group.
- **tokio-util** v0.7.18 -- [https://github.com/tokio-rs/tokio](https://github.com/tokio-rs/tokio) -- `MIT`
- **toml** v0.8.23 -- [https://github.com/toml-rs/toml](https://github.com/toml-rs/toml) -- `Apache-2.0 OR MIT`
- **toml_datetime** v0.6.11 -- [https://github.com/toml-rs/toml](https://github.com/toml-rs/toml) -- `Apache-2.0 OR MIT`
- **toml_datetime** v1.1.1+spec-1.1.0 -- [https://github.com/toml-rs/toml](https://github.com/toml-rs/toml) -- `Apache-2.0 OR MIT`
- **toml_edit** v0.22.27 -- [https://github.com/toml-rs/toml](https://github.com/toml-rs/toml) -- `Apache-2.0 OR MIT`
- **toml_edit** v0.25.13+spec-1.1.0 -- [https://github.com/toml-rs/toml](https://github.com/toml-rs/toml) -- `Apache-2.0 OR MIT`
- **toml_parser** v1.1.3+spec-1.1.0 -- [https://github.com/toml-rs/toml](https://github.com/toml-rs/toml) -- `Apache-2.0 OR MIT`
- **toml_write** v0.1.2 -- [https://github.com/toml-rs/toml](https://github.com/toml-rs/toml) -- `Apache-2.0 OR MIT`
- **tracelogging** v1.2.4 -- [https://github.com/microsoft/tracelogging](https://github.com/microsoft/tracelogging) -- `MIT`
- **tracelogging_macros** v1.2.3 -- [https://github.com/microsoft/tracelogging](https://github.com/microsoft/tracelogging) -- `MIT`
Expand All @@ -802,8 +816,10 @@ if it were canonical for the whole group.
- **tracing-log** v0.2.0 -- [https://github.com/tokio-rs/tracing](https://github.com/tokio-rs/tracing) -- `MIT`
- **tracing-subscriber** v0.3.23 -- [https://github.com/tokio-rs/tracing](https://github.com/tokio-rs/tracing) -- `MIT`
- **triomphe** v0.1.15 -- [https://github.com/Manishearth/triomphe](https://github.com/Manishearth/triomphe) -- `Apache-2.0 OR MIT`
- **tui-markdown** v0.3.9 -- [https://github.com/joshka/tui-markdown](https://github.com/joshka/tui-markdown) -- `Apache-2.0 OR MIT`
- **typenum** v1.19.0 -- [https://github.com/paholg/typenum](https://github.com/paholg/typenum) -- `Apache-2.0 OR MIT`
- **ucd-trie** v0.1.7 -- [https://github.com/BurntSushi/ucd-generate](https://github.com/BurntSushi/ucd-generate) -- `Apache-2.0 OR MIT`
- **unicase** v2.9.0 -- [https://github.com/seanmonstar/unicase](https://github.com/seanmonstar/unicase) -- `Apache-2.0 OR MIT`
- **unicode-ident** v1.0.24 -- [https://github.com/dtolnay/unicode-ident](https://github.com/dtolnay/unicode-ident) -- `(MIT OR Apache-2.0) AND Unicode-3.0`
- **unicode-linebreak** v0.1.5 -- [https://github.com/axelf4/unicode-linebreak](https://github.com/axelf4/unicode-linebreak) -- `Apache-2.0`
- **unicode-segmentation** v1.12.0 -- [https://github.com/unicode-rs/unicode-segmentation](https://github.com/unicode-rs/unicode-segmentation) -- `Apache-2.0 OR MIT`
Expand All @@ -830,7 +846,9 @@ if it were canonical for the whole group.
- **windows-sys** v0.61.2 -- [https://github.com/microsoft/windows-rs](https://github.com/microsoft/windows-rs) -- `Apache-2.0 OR MIT`
- **windows-targets** v0.48.5 -- [https://github.com/microsoft/windows-rs](https://github.com/microsoft/windows-rs) -- `Apache-2.0 OR MIT`
- **winnow** v0.7.15 -- [https://github.com/winnow-rs/winnow](https://github.com/winnow-rs/winnow) -- `MIT`
- **winnow** v1.0.4 -- [https://github.com/winnow-rs/winnow](https://github.com/winnow-rs/winnow) -- `MIT`
- **winsafe** v0.0.19 -- [https://github.com/rodrigocfd/winsafe](https://github.com/rodrigocfd/winsafe) -- `MIT`
- **yansi** v1.0.1 -- [https://github.com/SergioBenitez/yansi](https://github.com/SergioBenitez/yansi) -- `Apache-2.0 OR MIT`
- **zmij** v1.0.21 -- [https://github.com/dtolnay/zmij](https://github.com/dtolnay/zmij) -- `MIT`

## License texts
Expand All @@ -856,7 +874,7 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH RE

### `Apache-2.0`

Applies to 190 crate(s) (directly or via composite identifiers): adler2 v2.0.1, agent-client-protocol v1.3.0, agent-client-protocol-derive v1.3.0, agent-client-protocol-schema v1.4.0, allocator-api2 v0.2.21, anstream v0.6.21, anstyle v1.0.13, anstyle-parse v0.2.7, ... (+182 more)
Applies to 205 crate(s) (directly or via composite identifiers): adler2 v2.0.1, agent-client-protocol v1.3.0, agent-client-protocol-derive v1.3.0, agent-client-protocol-schema v1.4.0, allocator-api2 v0.2.21, anstream v0.6.21, anstyle v1.0.13, anstyle-parse v0.2.7, ... (+197 more)

_Canonical text reproduced from upstream `SPDX:Apache-2.0`:_

Expand Down Expand Up @@ -951,18 +969,21 @@ Copyright (c) 2014 Chris Wong
Copyright (c) 2014 Paho Lurie-Gregg
Copyright (c) 2014 The Rust Project Developers
Copyright (c) 2014-2026 Alex Crichton
Copyright (c) 2014-2026 Sean McArthur
Copyright (c) 2014, Kang Seonghoon.
Copyright (c) 2015 Alice Maz
Copyright (c) 2015 Andrew Gallant
Copyright (c) 2015 nwin
Copyright (c) 2015 The Rust Project Developers
Copyright (c) 2015 Utkarsh Kukreti
Copyright (c) 2015-2018 The winapi-rs Developers
Copyright (c) 2015-2020 The rust-hex Developers
Copyright (c) 2016 Alex Crichton
Copyright (c) 2016 Amanieu d'Antras
Copyright (c) 2016 Artyom Pavlov
Copyright (c) 2016 Dylan Ede
Copyright (c) 2016 Joe Wilm
Copyright (c) 2016 rust-derive-builder contributors
Copyright (c) 2016 The roaring-rs developers.
Copyright (c) 2016 The Rust Project Developers
Copyright (c) 2016 Tomasz Miąsko
Expand All @@ -973,6 +994,7 @@ Copyright (c) 2017 Contributors
Copyright (c) 2017 Frommi
Copyright (c) 2017 Nikolai Vazquez
Copyright (c) 2017 Robert Grosse
Copyright (c) 2017 Sergio Benitez
Copyright (c) 2017 The Tokio Authors
Copyright (c) 2017-2024 oyvindln
Copyright (c) 2018 Ashley Mannix, Christopher Armstrong, Dylan DPC, Hunar Roop Kahlon
Expand Down Expand Up @@ -1004,7 +1026,9 @@ Copyright 2012-2016 The Rust Project Developers.
Copyright 2013-2014 RAD Game Tools and Valve Software
Copyright 2014 Paho Lurie-Gregg
Copyright 2016-2026 Frank Denis.
Copyright 2017 Sergio Benitez
Copyright 2018 Developers of the Rand project
Copyright 2018-19 Michele d'Amico
Copyright 2020 Nor Khasyatillah
Copyright 2020 Tomasz "Soveu" Marx
Copyright 2020 Yoshua Wuyts
Expand Down Expand Up @@ -1214,7 +1238,7 @@ _Canonical text reproduced from upstream `SPDX:LLVM-exception`:_

### `MIT`

Applies to 266 crate(s) (directly or via composite identifiers): adler2 v2.0.1, aho-corasick v1.1.4, allocator-api2 v0.2.21, anstream v0.6.21, anstyle v1.0.13, anstyle-parse v0.2.7, anstyle-query v1.1.5, anstyle-wincon v3.0.11, ... (+258 more)
Applies to 284 crate(s) (directly or via composite identifiers): adler2 v2.0.1, aho-corasick v1.1.4, allocator-api2 v0.2.21, anstream v0.6.21, anstyle v1.0.13, anstyle-parse v0.2.7, anstyle-query v1.1.5, anstyle-wincon v3.0.11, ... (+276 more)

_Canonical text reproduced from upstream `SPDX:MIT`:_

Expand Down Expand Up @@ -1258,6 +1282,7 @@ Copyright (c) 2014 The Rust Project Developers
Copyright (c) 2014-2019 Geoffroy Couprie
Copyright (c) 2014-2022 Steven Fackler, Yuki Okushi
Copyright (c) 2014-2026 Alex Crichton
Copyright (c) 2014-2026 Sean McArthur
Copyright (c) 2014, Kang Seonghoon.
Copyright (c) 2015 Alice Maz
Copyright (c) 2015 Andrew Gallant
Expand All @@ -1268,6 +1293,7 @@ Copyright (c) 2015 François Bernier
Copyright (c) 2015 Jonathan Reem
Copyright (c) 2015 nwin
Copyright (c) 2015 The Rust Project Developers
Copyright (c) 2015 Utkarsh Kukreti
Copyright (c) 2015-2018 The winapi-rs Developers
Copyright (c) 2015-2020 The rust-hex Developers
Copyright (c) 2016 Alex Crichton
Expand All @@ -1278,6 +1304,7 @@ Copyright (c) 2016 Jelte Fennema
Copyright (c) 2016 Jerome Froelich
Copyright (c) 2016 Joe Wilm
Copyright (c) 2016 Martin Geisler
Copyright (c) 2016 rust-derive-builder contributors
Copyright (c) 2016 The roaring-rs developers.
Copyright (c) 2016 The Rust Project Developers
Copyright (c) 2016 Titus Wormer <tituswormer@gmail.com>
Expand All @@ -1293,6 +1320,7 @@ Copyright (c) 2017 Gilad Naaman
Copyright (c) 2017 Martin Geisler
Copyright (c) 2017 Nikolai Vazquez
Copyright (c) 2017 Robert Grosse
Copyright (c) 2017 Sergio Benitez
Copyright (c) 2017 Ted Driggs
Copyright (c) 2017 The Tokio Authors
Copyright (c) 2017-2024 oyvindln
Expand Down Expand Up @@ -1344,9 +1372,12 @@ Copyright 2010-2014 Rich Geldreich and Tenacious Software LLC
Copyright 2012-2016 The Rust Project Developers.
Copyright 2013-2014 RAD Game Tools and Valve Software
Copyright 2014 Paho Lurie-Gregg
Copyright 2015 Google Inc. All rights reserved.
Copyright 2015 The Fancy Regex Authors.
Copyright 2016-2026 Frank Denis.
Copyright 2017 Sergio Benitez
Copyright 2018 Developers of the Rand project
Copyright 2018-19 Michele d'Amico
Copyright 2019 Ryan O'Beirne
Copyright 2020 Nor Khasyatillah
Copyright 2020 Tomasz "Soveu" Marx
Expand Down
14 changes: 13 additions & 1 deletion build/scripts/Generate-WtaThirdPartyNotices.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,21 @@ while ($stack.Count -gt 0) {
# attribution.
# ---------------------------------------------------------------------------
$attributed = @()
$directorySeparators = [char[]]@(
[System.IO.Path]::DirectorySeparatorChar,
[System.IO.Path]::AltDirectorySeparatorChar
)
$vendorRoot = [System.IO.Path]::GetFullPath((Join-Path $wtaRoot 'vendor')).TrimEnd($directorySeparators) +
[System.IO.Path]::DirectorySeparatorChar
foreach ($pkgId in $seen) {
$pkg = $packages[$pkgId]
if (-not $pkg -or -not $pkg.source) { continue } # skip path-only deps
if (-not $pkg) { continue }
if (-not $pkg.source) {
$manifestPath = [System.IO.Path]::GetFullPath([string]$pkg.manifest_path)
if (-not $manifestPath.StartsWith($vendorRoot, [System.StringComparison]::OrdinalIgnoreCase)) {
continue
}
}
$attributed += $pkg
}
$attributed = $attributed | Sort-Object name, version
Expand Down
13 changes: 12 additions & 1 deletion src/cascadia/TerminalApp/TerminalPage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1696,6 +1696,7 @@ namespace winrt::TerminalApp::implementation
customModelLaunch ? customModelLaunch->selectionId : std::wstring{},
::Microsoft::Terminal::CustomModels::CaptureCatalog(globals.CustomModelProviders()),
globals.EffectiveAutoFixEnabled(),
globals.RenderAgentMarkdown(),
};
}

Expand All @@ -1705,6 +1706,7 @@ namespace winrt::TerminalApp::implementation
// without tearing down the agent pane. A single consolidated
// `agent_config_changed` event carries only the fields that changed:
// - autofix_enabled : the auto-suggest gate (was its own event)
// - render_agent_markdown : rich Markdown vs. raw agent text
// - delegate_agent + delegate_model : the delegate-tab agent identity
// - cloud_models + custom_models + custom_model_selection :
// credential-free picker metadata and its restart-required selection.
Expand All @@ -1725,13 +1727,14 @@ namespace winrt::TerminalApp::implementation

const auto& last = _lastAgentRuntimeConfig;
const bool autofixChanged = last.autofixEnabled != current.autofixEnabled;
const bool renderAgentMarkdownChanged = last.renderAgentMarkdown != current.renderAgentMarkdown;
const bool delegateChanged = last.delegateAgent != current.delegateAgent ||
last.delegateModel != current.delegateModel;
const bool customModelsChanged =
last.customModelSelection != current.customModelSelection ||
last.customModels != current.customModels;

if (!autofixChanged && !delegateChanged && !customModelsChanged)
if (!autofixChanged && !renderAgentMarkdownChanged && !delegateChanged && !customModelsChanged)
{
return;
}
Expand All @@ -1741,6 +1744,10 @@ namespace winrt::TerminalApp::implementation
{
params["autofix_enabled"] = current.autofixEnabled;
}
if (renderAgentMarkdownChanged)
{
params["render_agent_markdown"] = current.renderAgentMarkdown;
}
if (delegateChanged)
{
params["delegate_agent"] = winrt::to_string(current.delegateAgent);
Expand Down Expand Up @@ -2431,6 +2438,10 @@ namespace winrt::TerminalApp::implementation
{
helperCmd.append(L" --no-autofix");
}
if (!globals.RenderAgentMarkdown())
{
helperCmd.append(L" --no-agent-markdown");
}
if (const auto lang = _ResolveEffectiveLanguage(globals); !lang.empty())
{
appendHelperFlagValue(L"--language", lang);
Expand Down
1 change: 1 addition & 0 deletions src/cascadia/TerminalApp/TerminalPage.h
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,7 @@ namespace winrt::TerminalApp::implementation
std::wstring customModelSelection;
std::vector<::Microsoft::Terminal::CustomModels::CatalogEntry> customModels;
bool autofixEnabled{ false };
bool renderAgentMarkdown{ true };
};
AgentRuntimeConfigSnapshot _lastAgentRuntimeConfig{};
bool _agentRuntimeConfigInitialized{ false };
Expand Down
9 changes: 9 additions & 0 deletions src/cascadia/TerminalSettingsEditor/AIAgents.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,15 @@
IsOn="{x:Bind ViewModel.ShowTokenUsageAndCost, Mode=TwoWay}" />
</local:SettingContainer>

<local:SettingContainer x:Name="RenderAgentMarkdown"
x:Uid="AIAgents_RenderAgentMarkdown">
<ToggleSwitch x:Name="RenderAgentMarkdownToggle"
x:Uid="AIAgents_RenderAgentMarkdownToggle"
MinWidth="0"
AutomationProperties.AccessibilityView="Content"
IsOn="{x:Bind ViewModel.RenderAgentMarkdown, Mode=TwoWay}" />
</local:SettingContainer>

<!-- Automatic error detection (parent) + Automatic error
suggestion (dependent child). Modeled as an Expander so the
hierarchy is explicit: detection's master toggle lives in the
Expand Down
1 change: 1 addition & 0 deletions src/cascadia/TerminalSettingsEditor/AIAgentsViewModel.h
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
void AutoFixEnabled(bool value);
bool HasAutoFixEnabled() const;
PERMANENT_OBSERVABLE_PROJECTED_SETTING(_GlobalSettings, ShowTokenUsageAndCost);
PERMANENT_OBSERVABLE_PROJECTED_SETTING(_GlobalSettings, RenderAgentMarkdown);
bool CanSuggestErrors() const;

// GPO policy lock indicators
Expand Down
Loading
Loading