; NextResponse.json(body, { status: N })
(call_expression
  function: (member_expression
    object: (identifier) @_nr
    property: (property_identifier) @_json)
  arguments: (arguments
    (_) @resp.body
    .
    (object
      (pair
        key: (property_identifier) @_status_key
        value: (number) @resp.status)))
  (#eq? @_nr "NextResponse")
  (#eq? @_json "json")
  (#eq? @_status_key "status"))

; NextResponse.json(body) — no explicit status (defaults to 200)
(call_expression
  function: (member_expression
    object: (identifier) @_nr2
    property: (property_identifier) @_json2)
  arguments: (arguments
    .
    (_) @resp.body.default)
  (#eq? @_nr2 "NextResponse")
  (#eq? @_json2 "json"))
