Execute approved tool calls
CI / Rust Checks (push) Successful in 1h31m49s
CI / UI Checks (push) Successful in 5s
CI / Frontend E2E (push) Has been cancelled
CI / Deployment Manifests (push) Has been cancelled
CI / Deploy (push) Has been cancelled

This commit is contained in:
github-ops
2026-06-24 12:49:57 +00:00
parent 78d3052a61
commit 267061e226
9 changed files with 282 additions and 26 deletions
@@ -23,10 +23,11 @@ use crank_registry::{
CreateAgentRequest, CreateApprovalRequest, CreateInvocationLogRequest,
CreatePlatformApiKeyRequest, CreateVersionRequest, CreateWorkspaceRequest,
CreateYamlImportJobRequest, DecideApprovalRequest, DescriptorKind, DescriptorMetadata,
OperationSampleMetadata, PlatformApiKeyRecord, PostgresRegistry, PublishAgentRequest,
PublishRequest, RegistryError, RegistryOperation, SampleKind, SaveAuthProfileRequest,
SaveDescriptorMetadataRequest, SaveSampleMetadataRequest, UpdateWorkspaceRequest,
WorkspaceRecord, YamlImportJobCompletion, YamlImportJobId, YamlImportJobStatus,
FinishApprovalRequest, OperationSampleMetadata, PlatformApiKeyRecord, PostgresRegistry,
PublishAgentRequest, PublishRequest, RegistryError, RegistryOperation, SampleKind,
SaveAuthProfileRequest, SaveDescriptorMetadataRequest, SaveSampleMetadataRequest,
UpdateWorkspaceRequest, WorkspaceRecord, YamlImportJobCompletion, YamlImportJobId,
YamlImportJobStatus,
};
fn test_workspace_id() -> WorkspaceId {
@@ -555,6 +556,25 @@ async fn manages_approval_request_lifecycle() {
Some(json!({"approve": "yes"}))
);
let completed = registry
.finish_approval_request(FinishApprovalRequest {
workspace_id: &workspace_id,
agent_id: &agent.id,
approval_id: &approval.id,
status: ApprovalRequestStatus::Completed,
response_payload: Some(json!({"id": "lead_123"})),
decision_note: None,
})
.await
.unwrap()
.unwrap();
assert_eq!(completed.approval.status, ApprovalRequestStatus::Completed);
assert_eq!(
completed.approval.response_payload,
Some(json!({"id": "lead_123"}))
);
let pending_after_decision = registry
.list_pending_approval_requests_for_agent(&workspace_id, &agent.id)
.await