Add the admin messages, approval ids as numbers, and two turn events

Implemented-By: OpenCode session (model recorded in docs/implementer-log.md)
This commit is contained in:
2026-09-19 00:28:46 -07:00
parent c6395b16f4
commit e8568edf7e
25 changed files with 441 additions and 10 deletions
+24 -2
View File
@@ -75,9 +75,31 @@ fn envelopes_reject_unknown_keys_at_every_depth() {
"turn_event_retrying.json",
"turn_done.json",
"error_session_full.json",
"approvals.json",
"approval_list.json",
"approval_list_empty.json",
"approve.json",
"approve_result_allowed.json",
"approve_result_denied.json",
"refuse.json",
"refuse_no_reason.json",
"ok.json",
"check_grants.json",
"grants_report.json",
"grants_report_ok.json",
"error_forbidden.json",
"error_no_such_approval.json",
"turn_event_approval_pending.json",
"turn_event_tool_denied.json",
] {
// Envelope, msg and body: three objects; turn_done also has a usage object.
let want = if name == "turn_done.json" { 4 } else { 3 };
// Envelope, msg and body: three objects. Some bodies hold more: turn_done a usage
// object, approval_list one item, approve_result an outcome, grants_report two problems.
let want = match name {
"turn_done.json" | "approval_list.json" => 4,
"approve_result_allowed.json" | "approve_result_denied.json" => 4,
"grants_report.json" => 5,
_ => 3,
};
assert_eq!(
check::<Envelope>(name, &fixture(&format!("wire/{name}"))),
want,