| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import { describe, expect, test } from "bun:test"
- import { App } from "../../src/app/app"
- import path from "path"
- import { BashTool } from "../../src/tool/bash"
- import { Log } from "../../src/util/log"
- const ctx = {
- sessionID: "test",
- messageID: "",
- toolCallID: "",
- abort: AbortSignal.any([]),
- metadata: () => {},
- }
- const bash = await BashTool.init()
- const projectRoot = path.join(__dirname, "../..")
- Log.init({ print: false })
- describe("tool.bash", () => {
- test("basic", async () => {
- await App.provide({ cwd: projectRoot }, async () => {
- await bash.execute(
- {
- command: "cd foo/bar && ls",
- description: "List files in foo/bar",
- },
- ctx,
- )
- })
- })
- test("cd ../ should fail", async () => {
- await App.provide({ cwd: projectRoot }, async () => {
- expect(
- bash.execute(
- {
- command: "cd ../",
- description: "Try to cd to parent directory",
- },
- ctx,
- ),
- ).rejects.toThrow()
- })
- })
- })
|