Comprehensive TypeScript type definitions for building Slack applications and integrations with the Node Slack SDK
94
{
"context": "This evaluation assesses how effectively an engineer uses the @slack/types package to handle Slack pin events. The criteria focus on proper usage of pin event type definitions, event payload structures, and type-safe event processing.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Pin event types",
"description": "Uses the correct @slack/types event type definitions for pin_added and pin_removed events (e.g., PinAddedEvent, PinRemovedEvent or GenericMessageEvent with appropriate type guards)",
"max_score": 30
},
{
"name": "Event payload typing",
"description": "Correctly types the event parameter using @slack/types definitions instead of 'any', ensuring type-safe access to event properties like type, item, channel, user, and event_ts",
"max_score": 25
},
{
"name": "Item type handling",
"description": "Uses @slack/types item type definitions (e.g., checking item.type === 'message') and accesses item properties (message.ts, message.channel) in a type-safe manner",
"max_score": 20
},
{
"name": "Type guards",
"description": "Implements or uses type guards to discriminate between pin_added and pin_removed events, leveraging TypeScript's discriminated union types from @slack/types",
"max_score": 15
},
{
"name": "Event structure access",
"description": "Correctly accesses nested event properties (user, channel, item.message) using the structure defined in @slack/types event definitions",
"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