openAgent
gitlabThe open source UNIVERSAL agent.
clone
https://gitlab.com/bitzzdev/openAgent.gitAIagentautomationopen-sourceuniversal-agent
import { describe, expect, test } from "bun:test"import { getAdapter, registerAdapter } from "../../src/control-plane/adapters"import { ProjectV2 } from "@opencode-ai/core/project"import type { WorkspaceInfo } from "../../src/control-plane/types"function info(projectID: WorkspaceInfo["projectID"], type: string): WorkspaceInfo {return {id: "workspace-test" as WorkspaceInfo["id"],type,name: "workspace-test",branch: null,directory: null,extra: null,projectID,}}function adapter(dir: string) {return {name: dir,description: dir,configure(input: WorkspaceInfo) {return input},async create() {},async remove() {},target() {return {type: "local" as const,directory: dir,}},}}describe("control-plane/adapters", () => {test("isolates custom adapters by project", async () => {const type = `demo-${Math.random().toString(36).slice(2)}`const one = ProjectV2.ID.make(`project-${Math.random().toString(36).slice(2)}`)const two = ProjectV2.ID.make(`project-${Math.random().toString(36).slice(2)}`)registerAdapter(one, type, adapter("/one"))registerAdapter(two, type, adapter("/two"))expect(await (await getAdapter(one, type)).target(info(one, type))).toEqual({type: "local",directory: "/one",})expect(await (await getAdapter(two, type)).target(info(two, type))).toEqual({type: "local",directory: "/two",})})test("latest install wins within a project", async () => {const type = `demo-${Math.random().toString(36).slice(2)}`const id = ProjectV2.ID.make(`project-${Math.random().toString(36).slice(2)}`)registerAdapter(id, type, adapter("/one"))expect(await (await getAdapter(id, type)).target(info(id, type))).toEqual({type: "local",directory: "/one",})registerAdapter(id, type, adapter("/two"))expect(await (await getAdapter(id, type)).target(info(id, type))).toEqual({type: "local",directory: "/two",})})})