evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
{
"context": "Evaluates whether the solution uses notion-client to fetch block record values by ID, surface missing IDs, request signed file URLs when asked, and forward HTTP options through to the Notion v3 endpoints.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Core fetch",
"description": "Creates a NotionAPI client with the provided auth token and calls getBlocks with the full set of unique block IDs instead of manual HTTP logic or per-ID requests.",
"max_score": 35
},
{
"name": "Deduped call",
"description": "Deduplicates the input IDs and issues a single getBlocks invocation that covers all requested IDs.",
"max_score": 15
},
{
"name": "Missing detection",
"description": "Derives the missing ID list by comparing the requested IDs to the keys returned in recordMap.block from getBlocks (no hardcoded assumptions).",
"max_score": 15
},
{
"name": "Signed URLs",
"description": "When includeSignedUrls is true, uses notion-client facilities (e.g., getSignedFileUrls with the block sources or relying on recordMap.signed_urls) to attach signed URLs to file-type blocks.",
"max_score": 20
},
{
"name": "Request options",
"description": "Forwards requestOptions to the HTTP layer by passing them through to getBlocks via ofetchOptions (or matching NotionAPI constructor options) so headers/timeouts reach the API call.",
"max_score": 15
}
]
}