+ {[...value.rules]
+ .map((rule, sourceIndex) => ({ rule, sourceIndex }))
+ .sort((left, right) => right.rule.priority - left.rule.priority)
+ .map(({ rule, sourceIndex }, displayIndex) => (
+
+
+
+ {displayIndex + 1}
+ {rule.id || '—'}
+
+
+
+
+
+ updateRule(sourceIndex, { id: event.target.value })}
+ />
+
+
+
+ updateRule(sourceIndex, { priority: toNumber(event.target.value, 1) })
+ }
+ />
+
+
+
+ updateRuleMatch(
+ sourceIndex,
+ 'total_tokens_gte',
+ event.target.value === '' ? undefined : toNumber(event.target.value)
+ )
+ }
+ />
+
+
+
+ updateRuleMatch(
+ sourceIndex,
+ 'total_tokens_lte',
+ event.target.value === '' ? undefined : toNumber(event.target.value)
+ )
+ }
+ />
+
+ {(['thinking', 'tools_present', 'stream'] as const).map((key) => (
+
+
+ ))}
+
+
+ {rule.action.type === 'route' ? (
+
+
+ ) : (
+
+
+ updateRule(sourceIndex, {
+ action: { type: 'reject', reason: event.target.value },
+ })
+ }
+ />
+
+ )}
+
+