Comprehensive TypeScript type definitions for building Slack applications and integrations with the Node Slack SDK
94
{
"context": "This evaluation assesses how well the engineer uses the @slack/types package to handle Slack app lifecycle events. The focus is on proper usage of the AppInstalledEvent, AppUninstalledEvent, and AppHomeOpenedEvent type definitions to implement type-safe event processing.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Import event types",
"description": "Correctly imports AppInstalledEvent, AppUninstalledEvent, and AppHomeOpenedEvent from @slack/types package",
"max_score": 20
},
{
"name": "Type annotation usage",
"description": "Uses the imported event types in the function parameter type annotation (union type or discriminated union pattern)",
"max_score": 20
},
{
"name": "AppInstalledEvent handling",
"description": "Correctly accesses properties specific to AppInstalledEvent (app_name, app_id, user_id, team_id) to format the installation log message",
"max_score": 20
},
{
"name": "AppUninstalledEvent handling",
"description": "Correctly handles AppUninstalledEvent by checking the event type and returning the appropriate message",
"max_score": 15
},
{
"name": "AppHomeOpenedEvent handling",
"description": "Correctly accesses properties specific to AppHomeOpenedEvent (user, channel, tab) to format the home opened log message",
"max_score": 15
},
{
"name": "Type discrimination",
"description": "Uses proper type discrimination based on the 'type' property to distinguish between different event types (e.g., checking if event.type === 'app_installed')",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-slack--typesdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10