expressionContainsObservableCall
True when the expression text contains an observable brace call
(CHANGE_COUNT{[price], WITHIN(5m)}, PREVIOUS{[c]}, ROW_AGE{}, …) at
any depth. The dual-name paren spelling PERCENT_CHANGE([c]) is a
data-change scalar, not an observable call. Clock reads (NOW()) are not
observable calls either — callers that need "live" use the compiled
dependencies. Empty or unparseable text → false.
TypeScript
expressionContainsObservableCall: (expression: string | undefined | null, options?: InferExpressionKindOptions) => boolean