mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-13 19:10:39 +00:00
* exec: mark runtime shell context in exec env * tests(exec): cover OPENCLAW_SHELL in gateway exec * tests(exec): cover OPENCLAW_SHELL in pty mode * acpx: mark runtime shell context for spawned process * tests(acpx): log OPENCLAW_SHELL in runtime fixture * tests(acpx): assert OPENCLAW_SHELL in runtime prompt * docs(env): document OPENCLAW_SHELL runtime markers * docs(exec): describe OPENCLAW_SHELL exec marker * docs(acp): document OPENCLAW_SHELL acp marker * docs(gateway): note OPENCLAW_SHELL for background exec * tui: tag local shell runs with OPENCLAW_SHELL * tests(tui): assert OPENCLAW_SHELL in local shell runner * acp client: tag spawned bridge env with OPENCLAW_SHELL * tests(acp): cover acp client OPENCLAW_SHELL env helper * docs(env): include acp-client and tui-local shell markers * docs(acp): document acp-client OPENCLAW_SHELL marker * docs(tui): document tui-local OPENCLAW_SHELL marker * exec: keep shell runtime env string-only for docker args * changelog: note OPENCLAW_SHELL runtime markers
32 lines
1.2 KiB
TypeScript
32 lines
1.2 KiB
TypeScript
import { afterEach, expect, test } from "vitest";
|
|
import { resetProcessRegistryForTests } from "./bash-process-registry.js";
|
|
import { createExecTool } from "./bash-tools.exec.js";
|
|
|
|
afterEach(() => {
|
|
resetProcessRegistryForTests();
|
|
});
|
|
|
|
test("exec supports pty output", async () => {
|
|
const tool = createExecTool({ allowBackground: false, security: "full", ask: "off" });
|
|
const result = await tool.execute("toolcall", {
|
|
command: 'node -e "process.stdout.write(String.fromCharCode(111,107))"',
|
|
pty: true,
|
|
});
|
|
|
|
expect(result.details.status).toBe("completed");
|
|
const text = result.content?.find((item) => item.type === "text")?.text ?? "";
|
|
expect(text).toContain("ok");
|
|
});
|
|
|
|
test("exec sets OPENCLAW_SHELL in pty mode", async () => {
|
|
const tool = createExecTool({ allowBackground: false, security: "full", ask: "off" });
|
|
const result = await tool.execute("toolcall-openclaw-shell", {
|
|
command: "node -e \"process.stdout.write(process.env.OPENCLAW_SHELL || '')\"",
|
|
pty: true,
|
|
});
|
|
|
|
expect(result.details.status).toBe("completed");
|
|
const text = result.content?.find((item) => item.type === "text")?.text ?? "";
|
|
expect(text).toContain("exec");
|
|
});
|