CtrlK
CommunityDocumentationLog inGet started
Tessl Logo

tessl/npm-lightdash--common

tessl install tessl/npm-lightdash--common@0.2231.5

Shared TypeScript library for the Lightdash platform containing common types, utilities, and business logic for analytics workflows

Agent Success

Agent success rate when using this tile

72%

Improvement

Agent success rate improvement when using this tile compared to baseline

1.09x

Baseline

Agent success rate without this tile

66%

rubric.jsonevals/scenario-11/

{
  "context": "This criteria evaluates how well the engineer uses @lightdash/common's filter compilation functions to generate SQL WHERE clauses for different data types (string, number, date, boolean) with warehouse-specific SQL generation.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "String Filter Compilation",
      "description": "Correctly uses FilterOperator enum values (EQUALS, NOT_EQUALS, INCLUDE, NOT_INCLUDE, STARTS_WITH, ENDS_WITH, NULL, NOT_NULL) to generate appropriate SQL patterns. INCLUDE operator should use LOWER() function with LIKE '%value%' pattern. STARTS_WITH should use 'value%' pattern. ENDS_WITH should use '%value' pattern. EQUALS should generate IN clause. Multiple INCLUDE values should be joined with OR logic.",
      "max_score": 25
    },
    {
      "name": "Number Filter Compilation",
      "description": "Correctly uses FilterOperator enum values (EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, IN_BETWEEN, NOT_IN_BETWEEN, NULL, NOT_NULL) to generate numeric comparison SQL. IN_BETWEEN should use >= and <= with AND. NOT_IN_BETWEEN should use < OR >. All operators should validate numeric values and handle NaN/Infinity.",
      "max_score": 20
    },
    {
      "name": "Date Warehouse-Specific SQL",
      "description": "Correctly generates warehouse-specific SQL for date filters based on SupportedDbtAdapter or warehouse type. For Trino/TRINO adapter, dates must be wrapped with CAST('value' AS timestamp). For other warehouses (Postgres, Snowflake, BigQuery, etc.), dates should be wrapped in quoted strings like ('value'). Uses date formatters appropriately (formatDate for dates, formatTimestamp for timestamps).",
      "max_score": 25
    },
    {
      "name": "Date Relative Filters",
      "description": "Correctly implements relative date filters (IN_THE_PAST, IN_THE_NEXT, IN_THE_CURRENT) using UnitOfTime enum (days, weeks, months, years, hours, minutes) from @lightdash/common. Uses moment-timezone or similar for date arithmetic. IN_THE_PAST and IN_THE_NEXT should support 'completed' period mode. IN_THE_CURRENT should handle timezone-aware boundaries using startOf/endOf period functions.",
      "max_score": 20
    },
    {
      "name": "Boolean Filter Compilation",
      "description": "Correctly uses FilterOperator values (equals/EQUALS, notEquals/NOT_EQUALS, isNull/NULL, notNull/NOT_NULL) to generate boolean SQL. Converts boolean values to SQL TRUE/FALSE literals (or 1/0 depending on warehouse). Uses convertToBooleanValue or similar utility from @lightdash/common for boolean conversion.",
      "max_score": 10
    }
  ]
}

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
npmpkg:npm/@lightdash/common@0.2231.x
tile.json