The scope entries to send on the new request, deduplicated.
Live grant entries carried over into scopes.
Requested entries the live grant did not already cover.
Live grant entries dropped because they were in removeScopes.
Live grant entries that a data connection request cannot carry (a
wildcard such as chatgpt.*, or an operation this SDK does not know),
so they are left out of scopes. The approval page's own union still
keeps them on the signed grant unless they are removed there.
The live grant's scope entries, verbatim (empty without a live grant).
Result of mergeWithLiveGrant and unionGrantScopes.