opencode-agent[bot] 2 месяцев назад
Родитель
Сommit
a6e3afe048

+ 8 - 2
packages/opencode/src/plugin/snowflake-cortex.ts

@@ -35,7 +35,11 @@ let pendingOAuth: PendingOAuth | undefined
 let oauthServerPort: number | undefined
 
 function normalizeAccount(input: string) {
-  return input.trim().replace(/^https?:\/\//, "").replace(/\.snowflakecomputing\.com\/?$/, "").replace(/\/+$/, "")
+  return input
+    .trim()
+    .replace(/^https?:\/\//, "")
+    .replace(/\.snowflakecomputing\.com\/?$/, "")
+    .replace(/\/+$/, "")
 }
 
 function generateRandomString(length: number) {
@@ -456,7 +460,9 @@ export async function SnowflakeCortexAuthPlugin(_input: PluginInput): Promise<Ho
             }
 
             const expiresSoon =
-              !currentOauth.expires || !currentOauth.access || currentOauth.expires - Date.now() <= ACCESS_TOKEN_REFRESH_SKEW_MS
+              !currentOauth.expires ||
+              !currentOauth.access ||
+              currentOauth.expires - Date.now() <= ACCESS_TOKEN_REFRESH_SKEW_MS
 
             if (expiresSoon) await refresh()
 

+ 2 - 1
packages/opencode/src/provider/provider.ts

@@ -884,7 +884,8 @@ function custom(dep: CustomDep): Record<string, CustomLoader> {
       // OAuth refresh + snowflake transformations in one place.
       // For env/config/API-key tokens, the provider fetch applies snowflake
       // transformations directly.
-      const useOAuthHandler = oauthToken !== undefined && envToken === undefined && apiKeyToken === undefined && configToken === undefined
+      const useOAuthHandler =
+        oauthToken !== undefined && envToken === undefined && apiKeyToken === undefined && configToken === undefined
       if (!useOAuthHandler) {
         options.fetch = async (url: RequestInfo | URL, init?: RequestInit) => {
           if (init?.body && typeof init.body === "string") {

+ 16 - 14
packages/opencode/test/plugin/snowflake-cortex.test.ts

@@ -106,13 +106,14 @@ describe("plugin.snowflake-cortex", () => {
     try {
       const hooks = await SnowflakeCortexAuthPlugin(input)
       const options = await hooks.auth!.loader!(
-        async () => ({
-          type: "oauth",
-          access: "access-expired",
-          refresh: "refresh-old",
-          expires: 0,
-          accountId: "myorg-myaccount",
-        }) as any,
+        async () =>
+          ({
+            type: "oauth",
+            access: "access-expired",
+            refresh: "refresh-old",
+            expires: 0,
+            accountId: "myorg-myaccount",
+          }) as any,
         {} as any,
       )
 
@@ -139,13 +140,14 @@ describe("plugin.snowflake-cortex", () => {
     const { input, getAuth, setCalls } = makeInput()
     const hooks = await SnowflakeCortexAuthPlugin(input)
     const options = await hooks.auth!.loader!(
-      async () => ({
-        type: "oauth",
-        access: "access-stale",
-        refresh: "refresh-old",
-        expires: Date.now() + 60 * 60 * 1000,
-        accountId: "myorg-myaccount",
-      }) as any,
+      async () =>
+        ({
+          type: "oauth",
+          access: "access-stale",
+          refresh: "refresh-old",
+          expires: Date.now() + 60 * 60 * 1000,
+          accountId: "myorg-myaccount",
+        }) as any,
       {} as any,
     )