agent-color.test.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { expect } from "bun:test"
  2. import { LayerNode } from "@kirincode-ai/core/effect/layer-node"
  3. import { Effect } from "effect"
  4. import { Config } from "@/config/config"
  5. import { Agent as AgentSvc } from "../../src/agent/agent"
  6. import { testEffect } from "../lib/effect"
  7. const it = testEffect(LayerNode.compile(LayerNode.group([Config.node, AgentSvc.node])))
  8. it.instance(
  9. "agent color parsed from project config",
  10. () =>
  11. Effect.gen(function* () {
  12. const cfg = yield* Config.use.get()
  13. expect(cfg.agent?.["build"]?.color).toBe("#FFA500")
  14. expect(cfg.agent?.["plan"]?.color).toBe("primary")
  15. }),
  16. {
  17. git: true,
  18. config: {
  19. agent: {
  20. build: { color: "#FFA500" },
  21. plan: { color: "primary" },
  22. },
  23. },
  24. },
  25. )
  26. it.instance(
  27. "Agent.get includes color from config",
  28. () =>
  29. Effect.gen(function* () {
  30. const plan = yield* AgentSvc.use.get("plan")
  31. expect(plan?.color).toBe("#A855F7")
  32. const build = yield* AgentSvc.use.get("build")
  33. expect(build?.color).toBe("accent")
  34. }),
  35. {
  36. git: true,
  37. config: {
  38. agent: {
  39. plan: { color: "#A855F7" },
  40. build: { color: "accent" },
  41. },
  42. },
  43. },
  44. )