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

+ 24 - 8
packages/core/src/database/schema.gen.ts

@@ -241,16 +241,32 @@ export default {
       `)
       yield* tx.run(`CREATE UNIQUE INDEX \`event_aggregate_seq_idx\` ON \`event\` (\`aggregate_id\`,\`seq\`);`)
       yield* tx.run(`CREATE INDEX \`event_aggregate_type_seq_idx\` ON \`event\` (\`aggregate_id\`,\`type\`,\`seq\`);`)
-      yield* tx.run(`CREATE UNIQUE INDEX \`permission_project_action_resource_idx\` ON \`permission\` (\`project_id\`,\`action\`,\`resource\`);`)
-      yield* tx.run(`CREATE INDEX \`message_session_time_created_id_idx\` ON \`message\` (\`session_id\`,\`time_created\`,\`id\`);`)
+      yield* tx.run(
+        `CREATE UNIQUE INDEX \`permission_project_action_resource_idx\` ON \`permission\` (\`project_id\`,\`action\`,\`resource\`);`,
+      )
+      yield* tx.run(
+        `CREATE INDEX \`message_session_time_created_id_idx\` ON \`message\` (\`session_id\`,\`time_created\`,\`id\`);`,
+      )
       yield* tx.run(`CREATE INDEX \`part_message_id_id_idx\` ON \`part\` (\`message_id\`,\`id\`);`)
       yield* tx.run(`CREATE INDEX \`part_session_idx\` ON \`part\` (\`session_id\`);`)
-      yield* tx.run(`CREATE INDEX \`session_input_session_pending_delivery_seq_idx\` ON \`session_input\` (\`session_id\`,\`promoted_seq\`,\`delivery\`,\`admitted_seq\`);`)
-      yield* tx.run(`CREATE UNIQUE INDEX \`session_input_session_admitted_seq_idx\` ON \`session_input\` (\`session_id\`,\`admitted_seq\`);`)
-      yield* tx.run(`CREATE UNIQUE INDEX \`session_input_session_promoted_seq_idx\` ON \`session_input\` (\`session_id\`,\`promoted_seq\`);`)
-      yield* tx.run(`CREATE UNIQUE INDEX \`session_message_session_seq_idx\` ON \`session_message\` (\`session_id\`,\`seq\`);`)
-      yield* tx.run(`CREATE INDEX \`session_message_session_type_seq_idx\` ON \`session_message\` (\`session_id\`,\`type\`,\`seq\`);`)
-      yield* tx.run(`CREATE INDEX \`session_message_session_time_created_id_idx\` ON \`session_message\` (\`session_id\`,\`time_created\`,\`id\`);`)
+      yield* tx.run(
+        `CREATE INDEX \`session_input_session_pending_delivery_seq_idx\` ON \`session_input\` (\`session_id\`,\`promoted_seq\`,\`delivery\`,\`admitted_seq\`);`,
+      )
+      yield* tx.run(
+        `CREATE UNIQUE INDEX \`session_input_session_admitted_seq_idx\` ON \`session_input\` (\`session_id\`,\`admitted_seq\`);`,
+      )
+      yield* tx.run(
+        `CREATE UNIQUE INDEX \`session_input_session_promoted_seq_idx\` ON \`session_input\` (\`session_id\`,\`promoted_seq\`);`,
+      )
+      yield* tx.run(
+        `CREATE UNIQUE INDEX \`session_message_session_seq_idx\` ON \`session_message\` (\`session_id\`,\`seq\`);`,
+      )
+      yield* tx.run(
+        `CREATE INDEX \`session_message_session_type_seq_idx\` ON \`session_message\` (\`session_id\`,\`type\`,\`seq\`);`,
+      )
+      yield* tx.run(
+        `CREATE INDEX \`session_message_session_time_created_id_idx\` ON \`session_message\` (\`session_id\`,\`time_created\`,\`id\`);`,
+      )
       yield* tx.run(`CREATE INDEX \`session_message_time_created_idx\` ON \`session_message\` (\`time_created\`);`)
       yield* tx.run(`CREATE INDEX \`session_project_idx\` ON \`session\` (\`project_id\`);`)
       yield* tx.run(`CREATE INDEX \`session_workspace_idx\` ON \`session\` (\`workspace_id\`);`)

+ 7 - 5
packages/core/src/integration.ts

@@ -352,11 +352,13 @@ export const locationLayer = Layer.effect(
     })
 
     const resolveConnections = (entry: Entry | undefined, saved: readonly Credential.Info[]) => {
-      const credentials = saved.map((credential) => ({
-        type: "credential" as const,
-        id: credential.id,
-        label: credential.label,
-      })).toReversed()
+      const credentials = saved
+        .map((credential) => ({
+          type: "credential" as const,
+          id: credential.id,
+          label: credential.label,
+        }))
+        .toReversed()
       const env = (entry?.methods ?? [])
         .filter((method) => method.type === "env")
         .flatMap((method) => method.names.filter((name) => process.env[name]))

+ 18 - 18
packages/core/test/credential.test.ts

@@ -9,27 +9,27 @@ const it = testEffect(Credential.defaultLayer)
 describe("Credential", () => {
   it.effect("stores, updates, lists, and removes credentials", () =>
     Effect.gen(function* () {
-          const credentials = yield* Credential.Service
-          const integrationID = Integration.ID.make("openai")
-          const created = yield* credentials.create({
-            integrationID,
-            label: "Work",
-            value: new Credential.Key({ type: "key", key: "secret" }),
-          })
+      const credentials = yield* Credential.Service
+      const integrationID = Integration.ID.make("openai")
+      const created = yield* credentials.create({
+        integrationID,
+        label: "Work",
+        value: new Credential.Key({ type: "key", key: "secret" }),
+      })
 
-          expect(yield* credentials.list(integrationID)).toEqual([created])
-          yield* credentials.update(created.id, { label: "Personal" })
-          expect((yield* credentials.list(integrationID))[0]?.label).toBe("Personal")
+      expect(yield* credentials.list(integrationID)).toEqual([created])
+      yield* credentials.update(created.id, { label: "Personal" })
+      expect((yield* credentials.list(integrationID))[0]?.label).toBe("Personal")
 
-          const replacement = yield* credentials.create({
-            integrationID,
-            label: "Replacement",
-            value: new Credential.Key({ type: "key", key: "replacement" }),
-          })
-          expect(yield* credentials.list(integrationID)).toEqual([replacement])
+      const replacement = yield* credentials.create({
+        integrationID,
+        label: "Replacement",
+        value: new Credential.Key({ type: "key", key: "replacement" }),
+      })
+      expect(yield* credentials.list(integrationID)).toEqual([replacement])
 
-          yield* credentials.remove(replacement.id)
-          expect(yield* credentials.list(integrationID)).toEqual([])
+      yield* credentials.remove(replacement.id)
+      expect(yield* credentials.list(integrationID)).toEqual([])
     }),
   )
 })

+ 1 - 4
packages/core/test/integration.test.ts

@@ -7,10 +7,7 @@ import { EventV2 } from "@opencode-ai/core/event"
 import { testEffect } from "./lib/effect"
 
 const it = testEffect(
-  Integration.locationLayer.pipe(
-    Layer.provideMerge(Credential.defaultLayer),
-    Layer.provideMerge(EventV2.defaultLayer),
-  ),
+  Integration.locationLayer.pipe(Layer.provideMerge(Credential.defaultLayer), Layer.provideMerge(EventV2.defaultLayer)),
 )
 
 describe("Integration", () => {

+ 4 - 16
packages/core/test/plugin/provider-amazon-bedrock.test.ts

@@ -179,10 +179,7 @@ describe("AmazonBedrockPlugin", () => {
             "aisdk.sdk",
             {
               model: new ModelV2.Info({
-                ...ModelV2.Info.empty(
-                  ProviderV2.ID.amazonBedrock,
-                  ModelV2.ID.make("anthropic.claude-sonnet-4-5"),
-                ),
+                ...ModelV2.Info.empty(ProviderV2.ID.amazonBedrock, ModelV2.ID.make("anthropic.claude-sonnet-4-5")),
                 api: {
                   id: ModelV2.ID.make("anthropic.claude-sonnet-4-5"),
                   type: "aisdk",
@@ -389,10 +386,7 @@ describe("AmazonBedrockPlugin", () => {
         "aisdk.language",
         {
           model: new ModelV2.Info({
-            ...ModelV2.Info.empty(
-              ProviderV2.ID.amazonBedrock,
-              ModelV2.ID.make("openai.gpt-oss-safeguard-120b"),
-            ),
+            ...ModelV2.Info.empty(ProviderV2.ID.amazonBedrock, ModelV2.ID.make("openai.gpt-oss-safeguard-120b")),
             api: {
               id: ModelV2.ID.make("openai.gpt-oss-safeguard-120b"),
               type: "aisdk",
@@ -450,10 +444,7 @@ describe("AmazonBedrockPlugin", () => {
             "aisdk.sdk",
             {
               model: new ModelV2.Info({
-                ...ModelV2.Info.empty(
-                  ProviderV2.ID.amazonBedrock,
-                  ModelV2.ID.make("anthropic.claude-sonnet-4-5"),
-                ),
+                ...ModelV2.Info.empty(ProviderV2.ID.amazonBedrock, ModelV2.ID.make("anthropic.claude-sonnet-4-5")),
                 api: {
                   id: ModelV2.ID.make("anthropic.claude-sonnet-4-5"),
                   type: "aisdk",
@@ -515,10 +506,7 @@ describe("AmazonBedrockPlugin", () => {
         "aisdk.language",
         {
           model: new ModelV2.Info({
-            ...ModelV2.Info.empty(
-              ProviderV2.ID.amazonBedrock,
-              ModelV2.ID.make("global.anthropic.claude-sonnet-4-5"),
-            ),
+            ...ModelV2.Info.empty(ProviderV2.ID.amazonBedrock, ModelV2.ID.make("global.anthropic.claude-sonnet-4-5")),
             api: {
               id: ModelV2.ID.make("global.anthropic.claude-sonnet-4-5"),
               type: "aisdk",

+ 1 - 4
packages/core/test/plugin/provider-anthropic.test.ts

@@ -64,10 +64,7 @@ describe("AnthropicPlugin", () => {
         "aisdk.sdk",
         {
           model: new ModelV2.Info({
-            ...ModelV2.Info.empty(
-              ProviderV2.ID.make("custom-anthropic"),
-              ModelV2.ID.make("claude-sonnet-4-5"),
-            ),
+            ...ModelV2.Info.empty(ProviderV2.ID.make("custom-anthropic"), ModelV2.ID.make("claude-sonnet-4-5")),
             api: { id: ModelV2.ID.make("claude-sonnet-4-5"), type: "aisdk", package: "@ai-sdk/anthropic" },
           }),
           package: "@ai-sdk/anthropic",

+ 3 - 12
packages/core/test/plugin/provider-azure-cognitive-services.test.ts

@@ -120,10 +120,7 @@ describe("AzureCognitiveServicesPlugin", () => {
         "aisdk.language",
         {
           model: new ModelV2.Info({
-            ...ModelV2.Info.empty(
-              ProviderV2.ID.make("azure-cognitive-services"),
-              ModelV2.ID.make("deployment"),
-            ),
+            ...ModelV2.Info.empty(ProviderV2.ID.make("azure-cognitive-services"), ModelV2.ID.make("deployment")),
             api: { id: ModelV2.ID.make("deployment"), type: "aisdk", package: "test-provider" },
           }),
           sdk: fakeSelectorSdk(calls),
@@ -144,10 +141,7 @@ describe("AzureCognitiveServicesPlugin", () => {
         "aisdk.language",
         {
           model: new ModelV2.Info({
-            ...ModelV2.Info.empty(
-              ProviderV2.ID.make("azure-cognitive-services"),
-              ModelV2.ID.make("deployment"),
-            ),
+            ...ModelV2.Info.empty(ProviderV2.ID.make("azure-cognitive-services"), ModelV2.ID.make("deployment")),
             api: { id: ModelV2.ID.make("deployment"), type: "aisdk", package: "test-provider" },
           }),
           sdk: fakeSelectorSdk(calls),
@@ -197,10 +191,7 @@ describe("AzureCognitiveServicesPlugin", () => {
         "aisdk.language",
         {
           model: new ModelV2.Info({
-            ...ModelV2.Info.empty(
-              ProviderV2.ID.make("azure-cognitive-services"),
-              ModelV2.ID.make("chat-deployment"),
-            ),
+            ...ModelV2.Info.empty(ProviderV2.ID.make("azure-cognitive-services"), ModelV2.ID.make("chat-deployment")),
             api: { id: ModelV2.ID.make("chat-deployment"), type: "aisdk", package: "test-provider" },
           }),
           sdk: { chat: sdk.chat, languageModel: sdk.languageModel },

+ 10 - 40
packages/core/test/plugin/provider-cloudflare-ai-gateway.test.ts

@@ -116,10 +116,7 @@ describe("CloudflareAIGatewayPlugin", () => {
             "aisdk.sdk",
             {
               model: new ModelV2.Info({
-                ...ModelV2.Info.empty(
-                  ProviderV2.ID.make("cloudflare-ai-gateway"),
-                  ModelV2.ID.make("openai/gpt-5"),
-                ),
+                ...ModelV2.Info.empty(ProviderV2.ID.make("cloudflare-ai-gateway"), ModelV2.ID.make("openai/gpt-5")),
                 api: { id: ModelV2.ID.make("openai/gpt-5"), type: "aisdk", package: "test-provider" },
               }),
               package: "ai-gateway-provider",
@@ -143,10 +140,7 @@ describe("CloudflareAIGatewayPlugin", () => {
           "aisdk.sdk",
           {
             model: new ModelV2.Info({
-              ...ModelV2.Info.empty(
-                ProviderV2.ID.make("cloudflare-ai-gateway"),
-                ModelV2.ID.make("openai/gpt-5"),
-              ),
+              ...ModelV2.Info.empty(ProviderV2.ID.make("cloudflare-ai-gateway"), ModelV2.ID.make("openai/gpt-5")),
               api: { id: ModelV2.ID.make("openai/gpt-5"), type: "aisdk", package: "test-provider" },
             }),
             package: "ai-gateway-provider",
@@ -193,10 +187,7 @@ describe("CloudflareAIGatewayPlugin", () => {
           "aisdk.sdk",
           {
             model: new ModelV2.Info({
-              ...ModelV2.Info.empty(
-                ProviderV2.ID.make("cloudflare-ai-gateway"),
-                ModelV2.ID.make("openai/gpt-5"),
-              ),
+              ...ModelV2.Info.empty(ProviderV2.ID.make("cloudflare-ai-gateway"), ModelV2.ID.make("openai/gpt-5")),
               api: { id: ModelV2.ID.make("openai/gpt-5"), type: "aisdk", package: "test-provider" },
             }),
             package: "ai-gateway-provider",
@@ -228,10 +219,7 @@ describe("CloudflareAIGatewayPlugin", () => {
           "aisdk.sdk",
           {
             model: new ModelV2.Info({
-              ...ModelV2.Info.empty(
-                ProviderV2.ID.make("cloudflare-ai-gateway"),
-                ModelV2.ID.make("openai/gpt-5"),
-              ),
+              ...ModelV2.Info.empty(ProviderV2.ID.make("cloudflare-ai-gateway"), ModelV2.ID.make("openai/gpt-5")),
               api: { id: ModelV2.ID.make("openai/gpt-5"), type: "aisdk", package: "test-provider" },
             }),
             package: "ai-gateway-provider",
@@ -271,10 +259,7 @@ describe("CloudflareAIGatewayPlugin", () => {
             "aisdk.sdk",
             {
               model: new ModelV2.Info({
-                ...ModelV2.Info.empty(
-                  ProviderV2.ID.make("cloudflare-ai-gateway"),
-                  ModelV2.ID.make("openai/gpt-5"),
-                ),
+                ...ModelV2.Info.empty(ProviderV2.ID.make("cloudflare-ai-gateway"), ModelV2.ID.make("openai/gpt-5")),
                 api: { id: ModelV2.ID.make("openai/gpt-5"), type: "aisdk", package: "test-provider" },
               }),
               package: "ai-gateway-provider",
@@ -308,10 +293,7 @@ describe("CloudflareAIGatewayPlugin", () => {
           "aisdk.sdk",
           {
             model: new ModelV2.Info({
-              ...ModelV2.Info.empty(
-                ProviderV2.ID.make("cloudflare-ai-gateway"),
-                ModelV2.ID.make("openai/gpt-5"),
-              ),
+              ...ModelV2.Info.empty(ProviderV2.ID.make("cloudflare-ai-gateway"), ModelV2.ID.make("openai/gpt-5")),
               api: { id: ModelV2.ID.make("openai/gpt-5"), type: "aisdk", package: "test-provider" },
             }),
             package: "ai-gateway-provider",
@@ -336,10 +318,7 @@ describe("CloudflareAIGatewayPlugin", () => {
           "aisdk.sdk",
           {
             model: new ModelV2.Info({
-              ...ModelV2.Info.empty(
-                ProviderV2.ID.make("cloudflare-ai-gateway"),
-                ModelV2.ID.make("openai/gpt-5"),
-              ),
+              ...ModelV2.Info.empty(ProviderV2.ID.make("cloudflare-ai-gateway"), ModelV2.ID.make("openai/gpt-5")),
               api: { id: ModelV2.ID.make("openai/gpt-5"), type: "aisdk", package: "test-provider" },
             }),
             package: "ai-gateway-provider",
@@ -365,10 +344,7 @@ describe("CloudflareAIGatewayPlugin", () => {
           "aisdk.sdk",
           {
             model: new ModelV2.Info({
-              ...ModelV2.Info.empty(
-                ProviderV2.ID.make("cloudflare-ai-gateway"),
-                ModelV2.ID.make("openai/gpt-5"),
-              ),
+              ...ModelV2.Info.empty(ProviderV2.ID.make("cloudflare-ai-gateway"), ModelV2.ID.make("openai/gpt-5")),
               api: { id: ModelV2.ID.make("openai/gpt-5"), type: "aisdk", package: "test-provider" },
             }),
             package: "ai-gateway-provider",
@@ -400,10 +376,7 @@ describe("CloudflareAIGatewayPlugin", () => {
             "aisdk.sdk",
             {
               model: new ModelV2.Info({
-                ...ModelV2.Info.empty(
-                  ProviderV2.ID.make("cloudflare-ai-gateway"),
-                  ModelV2.ID.make("openai/gpt-5"),
-                ),
+                ...ModelV2.Info.empty(ProviderV2.ID.make("cloudflare-ai-gateway"), ModelV2.ID.make("openai/gpt-5")),
                 api: { id: ModelV2.ID.make("openai/gpt-5"), type: "aisdk", package: "test-provider" },
               }),
               package: "ai-gateway-provider",
@@ -467,10 +440,7 @@ describe("CloudflareAIGatewayPlugin", () => {
           "aisdk.sdk",
           {
             model: new ModelV2.Info({
-              ...ModelV2.Info.empty(
-                ProviderV2.ID.make("cloudflare-ai-gateway"),
-                ModelV2.ID.make("openai/gpt-5"),
-              ),
+              ...ModelV2.Info.empty(ProviderV2.ID.make("cloudflare-ai-gateway"), ModelV2.ID.make("openai/gpt-5")),
               api: { id: ModelV2.ID.make("openai/gpt-5"), type: "aisdk", package: "test-provider" },
             }),
             package: "@ai-sdk/openai-compatible",

+ 1 - 4
packages/core/test/plugin/provider-gateway.test.ts

@@ -66,10 +66,7 @@ describe("GatewayPlugin", () => {
         "aisdk.sdk",
         {
           model: new ModelV2.Info({
-            ...ModelV2.Info.empty(
-              ProviderV2.ID.make("vercel"),
-              ModelV2.ID.make("anthropic/claude-sonnet-4"),
-            ),
+            ...ModelV2.Info.empty(ProviderV2.ID.make("vercel"), ModelV2.ID.make("anthropic/claude-sonnet-4")),
             api: {
               id: ModelV2.ID.make("anthropic/claude-sonnet-4"),
               type: "aisdk",

+ 1 - 4
packages/core/test/plugin/provider-github-copilot.test.ts

@@ -169,10 +169,7 @@ describe("GithubCopilotPlugin", () => {
         "aisdk.language",
         {
           model: new ModelV2.Info({
-            ...ModelV2.Info.empty(
-              ProviderV2.ID.make("github-copilot"),
-              ModelV2.ID.make("gpt-5-mini-2025-08-07"),
-            ),
+            ...ModelV2.Info.empty(ProviderV2.ID.make("github-copilot"), ModelV2.ID.make("gpt-5-mini-2025-08-07")),
             api: { id: ModelV2.ID.make("gpt-5-mini-2025-08-07"), type: "aisdk", package: "test-provider" },
           }),
           sdk: fakeSelectorSdk(calls),

+ 1 - 5
packages/core/test/plugin/provider-sap-ai-core.test.ts

@@ -127,11 +127,7 @@ describe("SapAICorePlugin", () => {
           throw new Error("SAP AI Core should call the SDK directly")
         },
       })
-      const language = yield* plugin.trigger(
-        "aisdk.language",
-        { model: model("sap-ai-core"), sdk, options: {} },
-        {},
-      )
+      const language = yield* plugin.trigger("aisdk.language", { model: model("sap-ai-core"), sdk, options: {} }, {})
       expect(language.language as unknown).toEqual({ modelID: "sap-model", provider: "callable" })
     }),
   )

+ 5 - 20
packages/core/test/plugin/provider-snowflake-cortex.test.ts

@@ -76,10 +76,7 @@ describe("SnowflakeCortexPlugin", () => {
           "aisdk.sdk",
           {
             model: new ModelV2.Info({
-              ...ModelV2.Info.empty(
-                ProviderV2.ID.make("snowflake-cortex"),
-                ModelV2.ID.make("claude-sonnet-4-6"),
-              ),
+              ...ModelV2.Info.empty(ProviderV2.ID.make("snowflake-cortex"), ModelV2.ID.make("claude-sonnet-4-6")),
               api: { id: ModelV2.ID.make("claude-sonnet-4-6"), type: "aisdk", package: "test-provider" },
             }),
             package: "@ai-sdk/openai-compatible",
@@ -101,10 +98,7 @@ describe("SnowflakeCortexPlugin", () => {
           "aisdk.sdk",
           {
             model: new ModelV2.Info({
-              ...ModelV2.Info.empty(
-                ProviderV2.ID.make("snowflake-cortex"),
-                ModelV2.ID.make("claude-sonnet-4-6"),
-              ),
+              ...ModelV2.Info.empty(ProviderV2.ID.make("snowflake-cortex"), ModelV2.ID.make("claude-sonnet-4-6")),
               api: { id: ModelV2.ID.make("claude-sonnet-4-6"), type: "aisdk", package: "test-provider" },
             }),
             package: "@ai-sdk/openai-compatible",
@@ -130,10 +124,7 @@ describe("SnowflakeCortexPlugin", () => {
           "aisdk.sdk",
           {
             model: new ModelV2.Info({
-              ...ModelV2.Info.empty(
-                ProviderV2.ID.make("snowflake-cortex"),
-                ModelV2.ID.make("claude-sonnet-4-6"),
-              ),
+              ...ModelV2.Info.empty(ProviderV2.ID.make("snowflake-cortex"), ModelV2.ID.make("claude-sonnet-4-6")),
               api: { id: ModelV2.ID.make("claude-sonnet-4-6"), type: "aisdk", package: "test-provider" },
             }),
             package: "@ai-sdk/openai-compatible",
@@ -155,10 +146,7 @@ describe("SnowflakeCortexPlugin", () => {
           "aisdk.sdk",
           {
             model: new ModelV2.Info({
-              ...ModelV2.Info.empty(
-                ProviderV2.ID.make("snowflake-cortex"),
-                ModelV2.ID.make("claude-sonnet-4-6"),
-              ),
+              ...ModelV2.Info.empty(ProviderV2.ID.make("snowflake-cortex"), ModelV2.ID.make("claude-sonnet-4-6")),
               api: { id: ModelV2.ID.make("claude-sonnet-4-6"), type: "aisdk", package: "test-provider" },
             }),
             package: "@ai-sdk/openai-compatible",
@@ -184,10 +172,7 @@ describe("SnowflakeCortexPlugin", () => {
           "aisdk.sdk",
           {
             model: new ModelV2.Info({
-              ...ModelV2.Info.empty(
-                ProviderV2.ID.make("snowflake-cortex"),
-                ModelV2.ID.make("claude-sonnet-4-6"),
-              ),
+              ...ModelV2.Info.empty(ProviderV2.ID.make("snowflake-cortex"), ModelV2.ID.make("claude-sonnet-4-6")),
               api: { id: ModelV2.ID.make("claude-sonnet-4-6"), type: "aisdk", package: "test-provider" },
             }),
             package: "@ai-sdk/openai-compatible",

+ 1 - 3
packages/core/test/plugin/provider-vercel.test.ts

@@ -48,9 +48,7 @@ describe("VercelPlugin", () => {
       expect((yield* catalog.provider.get(ProviderV2.ID.make("vercel")))?.request.headers).not.toHaveProperty(
         "HTTP-Referer",
       )
-      expect((yield* catalog.provider.get(ProviderV2.ID.make("vercel")))?.request.headers).not.toHaveProperty(
-        "X-Title",
-      )
+      expect((yield* catalog.provider.get(ProviderV2.ID.make("vercel")))?.request.headers).not.toHaveProperty("X-Title")
     }),
   )
 

+ 1 - 3
packages/core/test/project.test.ts

@@ -13,9 +13,7 @@ import { ProjectDirectories } from "@opencode-ai/core/project/directories"
 import { tmpdir } from "./fixture/tmpdir"
 import { testEffect } from "./lib/effect"
 
-const it = testEffect(
-  Layer.mergeAll(ProjectV2.defaultLayer, Database.defaultLayer, ProjectDirectories.defaultLayer),
-)
+const it = testEffect(Layer.mergeAll(ProjectV2.defaultLayer, Database.defaultLayer, ProjectDirectories.defaultLayer))
 
 function remoteID(remote: string) {
   return ProjectV2.ID.make(Hash.fast(`git-remote:${remote}`))