Merge remote-tracking branch 'upstream/master' into fix/hook-matcher-validation

This commit is contained in:
ZiyaZhang
2026-07-28 16:14:51 -07:00
121 changed files with 3687 additions and 403 deletions

View File

@@ -15,8 +15,8 @@ buffer
style 0-2 fg=bright-blue bold underline
5| "Reply with exactly the word: ONE. No tools. "
6| <blank>
7| "Entering plan mode (applies from the next step). Use /plan off to leave. "
style 0-71 fg=bright-black
7| "Plan mode on. Use /plan off to leave. "
style 0-36 fg=bright-black
8| <blank>
9| "Assistant "
style 0-8 fg=bright-magenta bold underline
@@ -28,17 +28,17 @@ buffer
13| "Model wait 0.0s · Completed 2026-07-21 12:00:00 "
style 0-46 dim
14| <blank>
15| "Leaving plan mode (applies from the next step). "
style 0-46 fg=bright-black
16| <blank>
17| "You "
style 0-2 fg=bright-blue bold underline
18| "Reply with exactly the word: TWO. No tools. "
19| <blank>
20| "Context · plan-mode "
15| "Context · plan-mode "
style 0-18 dim
21| "The user switched this session back to the default mode. "
16| "The user switched this session back to the default mode. "
style 0-55 fg=bright-black
17| <blank>
18| "Plan mode off. "
style 0-13 fg=bright-black
19| <blank>
20| "You "
style 0-2 fg=bright-blue bold underline
21| "Reply with exactly the word: TWO. No tools. "
22| <blank>
23| "Assistant "
style 0-8 fg=bright-magenta bold underline

View File

@@ -149,14 +149,14 @@ describe('tui-agent keyless smoke (real Loader tree in a PTY)', () => {
actions: [
{ waitFor: 'main-session-', send: '/plan' },
{ waitFor: '[off|message] — Enter or leave plan mode', send: '\r' },
{ waitFor: 'Entering plan mode (applies from the next step). Use /plan off to leave.', send: '/exit\r' },
{ waitFor: 'Plan mode on. Use /plan off to leave.', send: '/exit\r' },
],
})
expect(output).toContain('DEEPSEEK')
expect(output).toContain('HARNESS')
expect(output).toContain('main-session-')
expect(output).toContain('[off|message] — Enter or leave plan mode')
expect(output).toContain('Entering plan mode (applies from the next step). Use /plan off to leave.')
expect(output).toContain('Plan mode on. Use /plan off to leave.')
// Borderless: no box-drawing frame around the banner.
expect(output).not.toContain('╭')
expect(output).not.toContain('╮')
@@ -183,15 +183,15 @@ describe('tui-agent keyless smoke (real Loader tree in a PTY)', () => {
// Gating /status on it keeps the assertion race-free; the diagnostics
// card is then exercised through the same real Loader/PTY composition.
{ waitFor: 'scripted session title — DeepSeek Harness', send: '/plan off\r' },
{ waitFor: 'Leaving plan mode (applies from the next step).', send: 'Confirm the scripted run left plan mode.\r' },
{ waitFor: 'Plan mode off.', send: 'Confirm the scripted run left plan mode.\r' },
{ waitFor: 'Default mode confirmed.', send: '/status\r' },
{ waitFor: 'Session status', send: '/exit\r' },
],
})
expect(output).toContain('I need one decision before I continue.')
expect(output).toContain('Reasoning effort: Max.')
expect(output).toContain('Entering plan mode (applies from the next step). Use /plan off to leave.')
expect(output).toContain('Leaving plan mode (applies from the next step).')
expect(output).toContain('Plan mode on. Use /plan off to leave.')
expect(output).toContain('Plan mode off.')
expect(output).toContain('Default mode confirmed.')
expect(output).toContain(String.raw`\x1b]2;MODEL_CONTROLLED\x07`)
expect(output).toContain(String.raw`\x1b[999CMODEL_CURSOR`)