openAgent
gitlabThe open source UNIVERSAL agent.
clone
https://gitlab.com/bitzzdev/openAgent.gitAIagentautomationopen-sourceuniversal-agent
import { describe, expect } from "bun:test"import { Effect } from "effect"import { CommandV2 } from "@opencode-ai/core/command"import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder"import { ModelV2 } from "@opencode-ai/core/model"import { ProviderV2 } from "@opencode-ai/core/provider"import { testEffect } from "./lib/effect"const it = testEffect(AppNodeBuilder.build(CommandV2.node))describe("CommandV2", () => {it.effect("applies command transforms and preserves later overrides", () =>Effect.gen(function* () {const command = yield* CommandV2.Serviceyield* command.transform((editor) => {editor.update("review", (command) => {command.template = "First"command.description = "Review code"})editor.update("review", (command) => {command.template = "Second"command.model = {id: ModelV2.ID.make("claude"),providerID: ProviderV2.ID.make("anthropic"),variant: ModelV2.VariantID.make("high"),}})})expect(yield* command.get("review")).toEqual(CommandV2.Info.make({name: "review",template: "Second",description: "Review code",model: {id: ModelV2.ID.make("claude"),providerID: ProviderV2.ID.make("anthropic"),variant: ModelV2.VariantID.make("high"),},}),)expect(yield* command.list()).toEqual([CommandV2.Info.make({name: "review",template: "Second",description: "Review code",model: {id: ModelV2.ID.make("claude"),providerID: ProviderV2.ID.make("anthropic"),variant: ModelV2.VariantID.make("high"),},}),])}),)})