Should sdkStack and/or sdkVersion be configurable by end users?
These are internal details that help us or end-users with debugging, so I don't think these should be able to be changed via options. If that's our decision, we'll probably need to duplicate some code between arcjet and @arcjet/next for creating the RemoteClient since we won't be able to pass the SDK information as options.
Agreed. They're for our usage only and shouldn't be configurable by end users.
We need to remove createRemoteClient from the arcjet package since you can't export two functions with the same name. It probably needs to exist in the @arcjet/protocol package. We can then rename createNextRemoteClient (and the others in each adapter) to createRemoteClient and accept a different options object.