Abstract S7 bases for hook and permission results. Construct a concrete
result with HookResultPreToolUse(), HookResultPostToolUse(),
HookResultPreCompact(), PermissionResultAllow(), or
PermissionResultDeny(). Test family membership with S7::S7_inherits().
Result properties are read-only after construction. Read with @,
S7::prop(), or $; missing $ fields return NULL. Use S7::props()
for a plain list of properties and construct a new result to change a
decision. S3 class tags and whole-result list indexing are not supported.
Objects stored in updated_tool_output retain their own reference
semantics; freezing a result does not freeze an environment inside it.