MCPcopy Index your code
hub / github.com/callstack/agent-device / resolveCloudAccessForConnect

Function resolveCloudAccessForConnect

src/cli/auth-session.ts:145–195  ·  view source on GitHub ↗
(options: {
  stateDir: string;
  flags: CliFlags;
  env?: EnvMap;
  io?: AuthIo;
})

Source from the content-addressed store, hash-verified

143}
144
145export async function resolveCloudAccessForConnect(options: {
146 stateDir: string;
147 flags: CliFlags;
148 env?: EnvMap;
149 io?: AuthIo;
150}): Promise<{
151 accessToken: string;
152 cloudBaseUrl: string;
153}> {
154 const env = options.env ?? options.io?.env ?? process.env;
155 if (hasToken(options.flags.daemonAuthToken)) {
156 return {
157 accessToken: options.flags.daemonAuthToken,
158 cloudBaseUrl: resolveCloudBaseUrl(env),
159 };
160 }
161 if (hasToken(env.AGENT_DEVICE_DAEMON_AUTH_TOKEN)) {
162 return {
163 accessToken: env.AGENT_DEVICE_DAEMON_AUTH_TOKEN,
164 cloudBaseUrl: resolveCloudBaseUrl(env),
165 };
166 }
167 const sessionAccess = await resolveCliSessionAccess({
168 stateDir: options.stateDir,
169 flags: options.flags,
170 env,
171 io: options.io,
172 });
173 if (sessionAccess) {
174 return {
175 accessToken: sessionAccess.accessToken,
176 cloudBaseUrl: sessionAccess.cloudBaseUrl,
177 };
178 }
179 if (options.flags.noLogin) {
180 throw new AppError('UNAUTHORIZED', 'Cloud connection profile authentication is required.', {
181 hint: 'Run agent-device auth login, unset --no-login, or set AGENT_DEVICE_DAEMON_AUTH_TOKEN.',
182 });
183 }
184 const login = await loginWithDeviceAuth({
185 stateDir: options.stateDir,
186 flags: options.flags,
187 env,
188 io: options.io,
189 commandLabel: 'agent-device connect',
190 });
191 return {
192 accessToken: login.accessToken,
193 cloudBaseUrl: login.session.cloudBaseUrl,
194 };
195}
196
197export async function loginWithDeviceAuth(options: {
198 stateDir: string;

Callers 2

Calls 4

hasTokenFunction · 0.85
resolveCloudBaseUrlFunction · 0.85
resolveCliSessionAccessFunction · 0.85
loginWithDeviceAuthFunction · 0.85

Tested by

no test coverage detected