Synced from monorepo

Changes:
- Persist submitter identity for /feedback
- Let custom models use rotating tokens from named auth providers
- Template stale tool/param name literals in server-native descriptions
- Minimal mode commits thinking in full, lookups as one-liners
- Tighten durable append internals
- Nudge model to end turn on no-op bash commands
- Per-fetch signing nonce in the managed-config envelope, with a server-side replay probe
- Include working tree in startup status
This commit is contained in:
grokkybara[bot] 2026-07-20 18:06:59 +01:00
commit a881e6703f
140 changed files with 6746 additions and 2377 deletions

View file

@ -53,7 +53,8 @@ fn tool_id_rejects_disallowed_characters() {
] {
let err = ToolId::new(bad).unwrap_err();
assert!(
matches!(err, IdError::InvalidFormat { ref value } if value == bad),
matches!(err, IdError::InvalidFormat { ref value }
if value == bad),
"expected InvalidFormat for {bad:?}, got {err:?}"
);
}
@ -73,7 +74,8 @@ fn tool_id_rejects_empty_segments_around_separator() {
for bad in [":foo", "foo:", ":"] {
let err = ToolId::new(bad).unwrap_err();
assert!(
matches!(err, IdError::InvalidFormat { ref value } if value == bad),
matches!(err, IdError::InvalidFormat { ref value }
if value == bad),
"expected InvalidFormat for {bad:?}, got {err:?}"
);
}
@ -103,7 +105,8 @@ fn server_id_rejects_reserved_auto_prefix() {
for bad in ["auto:my-server", "auto:", "auto:tool:read_file"] {
let err = ServerId::new(bad).unwrap_err();
assert!(
matches!(err, IdError::ReservedPrefix { ref value } if value == bad),
matches!(err, IdError::ReservedPrefix { ref value }
if value == bad),
"expected ReservedPrefix for {bad:?}, got {err:?}"
);
}