mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-03-30 13:54:01 +00:00
- Rename packages/opencode → packages/tfcode (directory only) - Rename bin/opencode → bin/tfcode (CLI binary) - Rename .opencode → .tfcode (config directory) - Update package.json name and bin field - Update config directory path references (.tfcode) - Keep internal code references as 'opencode' for easy upstream sync - Keep @opencode-ai/* workspace package names This minimal branding approach allows clean merges from upstream opencode repository while providing tfcode branding for users.
57 lines
1.8 KiB
TypeScript
57 lines
1.8 KiB
TypeScript
import { describe, expect, test } from "bun:test"
|
|
import path from "path"
|
|
import fs from "fs/promises"
|
|
import { tmpdir } from "../fixture/fixture"
|
|
import { Instance } from "../../src/project/instance"
|
|
import { ProviderAuth } from "../../src/provider/auth"
|
|
import { ProviderID } from "../../src/provider/schema"
|
|
|
|
describe("plugin.auth-override", () => {
|
|
test("user plugin overrides built-in github-copilot auth", async () => {
|
|
await using tmp = await tmpdir({
|
|
init: async (dir) => {
|
|
const pluginDir = path.join(dir, ".opencode", "plugin")
|
|
await fs.mkdir(pluginDir, { recursive: true })
|
|
|
|
await Bun.write(
|
|
path.join(pluginDir, "custom-copilot-auth.ts"),
|
|
[
|
|
"export default async () => ({",
|
|
" auth: {",
|
|
' provider: "github-copilot",',
|
|
" methods: [",
|
|
' { type: "api", label: "Test Override Auth" },',
|
|
" ],",
|
|
" loader: async () => ({ access: 'test-token' }),",
|
|
" },",
|
|
"})",
|
|
"",
|
|
].join("\n"),
|
|
)
|
|
},
|
|
})
|
|
|
|
await using plain = await tmpdir()
|
|
|
|
const methods = await Instance.provide({
|
|
directory: tmp.path,
|
|
fn: async () => {
|
|
return ProviderAuth.methods()
|
|
},
|
|
})
|
|
|
|
const plainMethods = await Instance.provide({
|
|
directory: plain.path,
|
|
fn: async () => {
|
|
return ProviderAuth.methods()
|
|
},
|
|
})
|
|
|
|
const copilot = methods[ProviderID.make("github-copilot")]
|
|
expect(copilot).toBeDefined()
|
|
expect(copilot.length).toBe(1)
|
|
expect(copilot[0].label).toBe("Test Override Auth")
|
|
expect(plainMethods[ProviderID.make("github-copilot")][0].label).not.toBe("Test Override Auth")
|
|
}, 30000) // Increased timeout for plugin installation
|
|
})
|