Tianyi Cui
124fc6a611
fix(runtime): close portable backend boundary gaps
2026-08-08 21:27:58 +08:00
Tianyi Cui
c1d550de58
refactor(runtime): collapse speculative portability layers
...
Remove the one-consumer bounded-read primitive and shared terminal lifecycle controller, make terminal cleanup one awaited provider operation, and reuse one Code Runtime contract suite. Keep only reproduced cancellation and policy fixes; defer unproven replacement, prompt-attribution, and streaming-frame concerns to scoped markers.
2026-08-08 21:27:58 +08:00
Tianyi Cui
4fecc54998
fix(runtime): close teardown gaps and simplify framing
2026-08-08 21:27:58 +08:00
Tianyi Cui
045e8462ee
fix(pty): drain public signals during close
2026-08-08 21:27:58 +08:00
Tianyi Cui
727546ce6d
fix(code-runtime): bound every subprocess frame hop
2026-08-08 21:27:58 +08:00
Tianyi Cui
7eedfda961
fix(pty): fence delayed signal prompts
2026-08-08 21:27:57 +08:00
Tianyi Cui
277870dac2
Revert "fix(pty): fence delayed signal prompts"
...
This reverts commit a78958eeeaf04a3acdf22ef8a26dec370661a51d.
2026-08-08 21:27:57 +08:00
Tianyi Cui
d6b3de6e0d
fix(pty): fence delayed signal prompts
2026-08-08 21:27:57 +08:00
Tianyi Cui
be3533fa19
fix(subprocess): clean runtime state after teardown failure
2026-08-08 21:27:57 +08:00
Tianyi Cui
0fec058a48
fix(pty): retain send ownership through cancellation
2026-08-08 21:27:57 +08:00
Tianyi Cui
4d63552d00
fix(lsp): preserve workspace cancellation reason
2026-08-08 21:27:57 +08:00
Tianyi Cui
098f826001
fix(subprocess): honor teardown and PATH semantics
2026-08-08 21:27:57 +08:00
Tianyi Cui
f61a4943bd
fix(lsp): preserve POSIX backslash paths
2026-08-08 21:27:57 +08:00
Tianyi Cui
71e0eeac40
fix(code-runtime): contain hostile boundary failures
2026-08-08 21:27:57 +08:00
Tianyi Cui
f84f63ccd7
test(runtime): finish zombie quiescence migration
2026-08-08 21:27:57 +08:00
Tianyi Cui
562cd154a8
docs(lsp): remove resolved URI limitation
2026-08-08 21:27:57 +08:00
Tianyi Cui
ea047cc634
test(subprocess): accept zombie quiescence
2026-08-08 21:27:57 +08:00
Tianyi Cui
06a9224904
fix(subprocess): retain failed terminal cleanup
2026-08-08 21:27:57 +08:00
Tianyi Cui
a95e01d8b0
fix(pty): detach cancellation before close drain
2026-08-08 21:27:57 +08:00
Tianyi Cui
6e5d711099
fix(lsp): cancel executable setup on disposal
2026-08-08 21:27:57 +08:00
Tianyi Cui
f2a3cc450e
fix(lsp): retain drive syntax in UNC worlds
2026-08-08 21:27:57 +08:00
Tianyi Cui
3572c65d57
fix(pty): join asynchronous terminal operations
2026-08-08 21:27:57 +08:00
Tianyi Cui
d29c73ddd6
fix(subprocess): treat zombie-only groups as quiescent
2026-08-08 21:27:56 +08:00
Tianyi Cui
ea75333c92
fix(lsp): compare UNC paths case-insensitively
2026-08-08 21:27:56 +08:00
Tianyi Cui
f5f40c7403
fix(pty): discard pre-write readiness evidence
2026-08-08 21:27:56 +08:00
Tianyi Cui
587fff9fe7
fix(runtime): honor platform quiescence semantics
2026-08-08 21:27:56 +08:00
Tianyi Cui
4997fb219e
fix(lsp): preserve execution-world URI semantics
2026-08-08 21:27:56 +08:00
Tianyi Cui
3537665806
fix(subprocess): honor Windows environment key casing
2026-08-08 21:27:56 +08:00
Tianyi Cui
03f1c8eb43
fix(subprocess): absolutize relative PATH lookups
2026-08-08 21:27:56 +08:00
Tianyi Cui
a0200376a1
fix(pty): defer the first readiness poll
2026-08-08 21:27:56 +08:00
Tianyi Cui
65264f6c80
refactor(subprocess): share terminal lifecycle
2026-08-08 21:27:56 +08:00
Tianyi Cui
32bce339da
fix(runtime): close lifecycle teardown races
2026-08-08 21:27:56 +08:00
Tianyi Cui
c17727d43d
test(subprocess): cover terminal release cleanup
2026-08-08 21:27:56 +08:00
Tianyi Cui
e5f3a67363
fix(runtime): publish completion before pipe cleanup
2026-08-08 21:27:56 +08:00
Tianyi Cui
ac81165662
fix(runtime): close async cleanup and framing races
2026-08-08 21:27:56 +08:00
Tianyi Cui
16cac3b5af
fix(runtime): close remote cleanup and readiness races
2026-08-08 21:27:56 +08:00
Tianyi Cui
8917ff8ef4
refactor(runtime): compose consumers over fs and subprocess
2026-08-08 21:27:55 +08:00
Tianyi Cui
72efc6f522
Merge remote-tracking branch 'origin/master' into worktree/ci-native-windows-20260808
2026-08-08 21:27:25 +08:00
Tianyi Cui
b1ccca71ef
fix(windows): stabilize native coverage watchers
2026-08-08 21:26:38 +08:00
Tianyi Cui
d21917f4cf
refactor(subagent): resolve list tool inputs explicitly
2026-08-08 21:05:58 +08:00
Tianyi Cui
5f755d5717
fix(web): keep Send beside subagent Stop
2026-08-08 21:05:58 +08:00
Tianyi Cui
ded7f8ffd1
Merge latest native Windows CI base into coverage follow-up
2026-08-08 20:44:36 +08:00
Tianyi Cui
0ad10e0f9d
Merge latest master into native Windows CI
2026-08-08 20:41:54 +08:00
Tianyi Cui
f96be1db13
test(windows): make native coverage fixtures portable
2026-08-08 20:36:31 +08:00
Yichen Jiang
66e9b01fbd
fix(tools,client): chain-mode resolution and a live preset label
...
modeFor read only the exact scope's layer, so a `code`-preset session
advertised the native catalog: the mode is declared on the preset's STANDING
scope, and the agent only parents to it. Nearest scope wins along the chain —
the mode decides what the model SEES, which is the class of fact the chain
inherits. Caught live (the model politely computed with bash and said
run_code was not in its list); the chain test pins it.
The client half of the label fix: the create echo and the session-added
frame's agentPreset now reach the session list (newest wins in the upsert —
every producer of the field reports the CURRENT composition), and a confirmed
blank-session switch publishes through the new ISessions.noteAgentPreset, so
the header label moves with the composition instead of waiting for a reload.
2026-08-08 20:19:00 +08:00
Huanqi Cao
7eadde5c58
Merge remote-tracking branch 'origin/feat/windows-pwsh-default' into feat/windows-acl-sandbox
...
# Conflicts:
# apps/cli/reference/README.i18n.yaml
2026-08-08 20:18:56 +08:00
Yichen Jiang
c578ededa1
Merge branch 'stack/agent-profiles-3-wire' into stack/agent-profiles-5-web-ui
2026-08-08 20:16:58 +08:00
Yichen Jiang
3926e95c61
Merge branch 'stack/agent-profiles-5-web-ui' into stack/agent-profiles-8-authoring
2026-08-08 20:16:58 +08:00
Yichen Jiang
132debb5fe
fix(apiproxy): echo the resolved agent preset on create and session-added
...
session.create's reply named only the id, and the session-added frame's
agentPreset — which the server already derives via sessionListFields — was
stripped by the wire schema it never joined. A client therefore could not
label a session it just created (or learned live) until the next full list
refresh: the header's preset label rendered nothing for exactly the sessions
made in this tab. The create reply is the commit point that knows the
RESOLVED composition (a caller that named none gets the default the header
recorded), so both carriers now say it.
2026-08-08 20:16:50 +08:00
Huanqi Cao
03cf9caba2
Merge remote-tracking branch 'origin/master' into HEAD
2026-08-08 20:15:08 +08:00