chore: generate

This commit is contained in:
opencode-agent[bot] 2026-06-22 04:17:10 +00:00
commit cd292a4ecb
14 changed files with 78 additions and 146 deletions

View file

@ -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([])
}),
)
})

View file

@ -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", () => {

View file

@ -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",

View file

@ -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",

View file

@ -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 },

View file

@ -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",

View file

@ -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",

View file

@ -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),

View file

@ -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" })
}),
)

View file

@ -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",

View file

@ -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")
}),
)

View file

@ -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}`))