There are more limit's than one:
There is theoretical limit 1GB specified by TOAST storage.
But practical limit is significantly lower - processing is memory extensive, and for long values there can be problems with free memory. There can be performance problems too - jsonb is immutable atomic value - every update generate complete new value, every reads have to read complete value. If your values are less than 200MB, then you don't have a problems usually.
A database server should to not use swap intensively. That means so real limit depends on number of active queries (active users). Higher max_connection means lower practical limit for large values.
Types with typlen == -1 are varlena types. You can find maximal size in documentation. But, again, this is theoretical limit. Practical limits are lower and depends on available memory for Postgres and probably structure (properties) of stored objects. You have to test it. There are not any other methods.