(operator: ComparisonOperator, value: number)
| 195 | } |
| 196 | |
| 197 | function buildCostCondition(operator: ComparisonOperator, value: number): SQL { |
| 198 | // Indexed projection of the usage_log ledger (dollars); no live aggregation. |
| 199 | const costField = sql`${workflowExecutionLogs.costTotal}` |
| 200 | |
| 201 | switch (operator) { |
| 202 | case '=': |
| 203 | return sql`${costField} = ${value}` |
| 204 | case '>': |
| 205 | return sql`${costField} > ${value}` |
| 206 | case '<': |
| 207 | return sql`${costField} < ${value}` |
| 208 | case '>=': |
| 209 | return sql`${costField} >= ${value}` |
| 210 | case '<=': |
| 211 | return sql`${costField} <= ${value}` |
| 212 | case '!=': |
| 213 | return sql`${costField} != ${value}` |
| 214 | } |
| 215 | } |
| 216 | |
| 217 | function buildDurationCondition(operator: ComparisonOperator, value: number): SQL | undefined { |
| 218 | const durationField = workflowExecutionLogs.totalDurationMs |
no outgoing calls
no test coverage detected