MCPcopy Index your code
hub / github.com/anomalyco/opencode / refresh

Function refresh

packages/opencode/src/plugin/snowflake-cortex.ts:335–367  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

333 const accountId = currentOauth.accountId
334
335 const refresh = async () => {
336 if (!refreshPromise) {
337 const refreshToken = currentOauth.refresh
338 refreshPromise = refreshAccessToken(accountId, refreshToken)
339 .then(async (tokens) => {
340 const refreshedRefresh = tokens.refresh_token || refreshToken
341 const refreshedExpires = Date.now() + (tokens.expires_in ?? 600) * 1000
342 await _input.client.auth
343 .set({
344 path: { id: "snowflake-cortex" },
345 body: {
346 type: "oauth",
347 access: tokens.access_token,
348 refresh: refreshedRefresh,
349 expires: refreshedExpires,
350 ...(accountId && { accountId }),
351 },
352 })
353 .catch(() => {})
354 return {
355 access: tokens.access_token,
356 refresh: refreshedRefresh,
357 expires: refreshedExpires,
358 }
359 })
360 .finally(() => {
361 refreshPromise = undefined
362 })
363 }
364
365 const refreshed = await refreshPromise
366 currentOauth = { ...currentOauth, ...refreshed }
367 }
368
369 const prepareRequest = () => {
370 const headers = new Headers(requestInput instanceof Request ? requestInput.headers : undefined)

Callers 1

fetchFunction · 0.70

Calls 2

refreshAccessTokenFunction · 0.70
setMethod · 0.45

Tested by

no test coverage detected