skills.subprocess.test.ts 990 B

123456789101112131415161718192021222324
  1. import type { SessionNotification } from "@agentclientprotocol/sdk"
  2. import { describe, expect, test } from "bun:test"
  3. import { createAcpFixture, initialize, newSession, verifierSkill } from "./subprocess"
  4. describe("acp skills subprocess", () => {
  5. test("skill slash command appears through available_commands_update", async () => {
  6. await using fixture = await createAcpFixture({ skill: verifierSkill })
  7. const acp = fixture.spawn()
  8. await initialize(acp)
  9. const session = await newSession(acp, fixture.home)
  10. const update = await acp.waitForNotification<SessionNotification>(
  11. "session/update",
  12. (params) =>
  13. params.sessionId === session.sessionId &&
  14. params.update.sessionUpdate === "available_commands_update" &&
  15. params.update.availableCommands.some(
  16. (command) => command.name === "verifier-skill" && command.description.length > 0,
  17. ),
  18. )
  19. expect(update.params.sessionId).toBe(session.sessionId)
  20. }, 60_000)
  21. })