feat: complete Epic 1 production foundation

This commit is contained in:
2026-08-25 01:24:11 +03:00
parent 767428436d
commit 182bde8ac0
298 changed files with 35719 additions and 5299 deletions
@@ -1,4 +1,4 @@
use crank_core::{ApprovalRequest, OperationApprovalPolicy};
use crank_core::{ApprovalRequest, OperationApprovalPolicy, sanitize_invocation_preview};
use crank_registry::PublishedAgentTool;
use serde_json::{Value, json};
@@ -30,9 +30,25 @@ pub(super) fn approval_required_response(
"expires_at": approval.expires_at,
"risk_level": approval.risk_level,
"payload_preview": if policy.show_payload_preview {
approval.request_payload.clone()
sanitize_invocation_preview(&approval.request_payload)
} else {
Value::Null
},
})
}
pub(super) fn approval_history_request_preview(approval: &ApprovalRequest) -> Value {
json!({
"status": "approval_required",
"approval_id": approval.id.as_str(),
"risk_level": approval.risk_level,
})
}
pub(super) fn approval_history_response_preview(response: &Value) -> Value {
json!({
"status": response.get("status").cloned().unwrap_or(Value::Null),
"approval_id": response.get("approval_id").cloned().unwrap_or(Value::Null),
"risk_level": response.get("risk_level").cloned().unwrap_or(Value::Null),
})
}