























@@ -1,7 +1,7 @@
11import fs from "node:fs/promises";
22import os from "node:os";
33import path from "node:path";
4-import { describe, expect, it } from "vitest";
4+import { describe, expect, it, vi } from "vitest";
55import type { OpenClawConfig } from "../config/types.openclaw.js";
66import {
77applyXaiModelCompat,
@@ -12,6 +12,7 @@ import {
1212import "./test-helpers/fast-bash-tools.js";
1313import "./test-helpers/fast-coding-tools.js";
1414import "./test-helpers/fast-openclaw-tools.js";
15+import { createOpenClawTools } from "./openclaw-tools.js";
1516import { createOpenClawCodingTools } from "./pi-tools.js";
1617import { createHostSandboxFsBridge } from "./test-helpers/host-sandbox-fs-bridge.js";
1718import { expectReadWriteEditTools } from "./test-helpers/pi-tools-fs-helpers.js";
@@ -163,6 +164,22 @@ describe("createOpenClawCodingTools", () => {
163164).toBeNull();
164165});
165166167+it("uses runtime toolsAllow when materializing plugin tools", () => {
168+const createOpenClawToolsMock = vi.mocked(createOpenClawTools);
169+createOpenClawToolsMock.mockClear();
170+171+createOpenClawCodingTools({
172+config: testConfig,
173+runtimeToolAllowlist: ["memory_search", "memory_get"],
174+});
175+176+expect(createOpenClawToolsMock).toHaveBeenCalledWith(
177+expect.objectContaining({
178+pluginToolAllowlist: expect.arrayContaining(["memory_search", "memory_get"]),
179+}),
180+);
181+});
182+166183it("preserves action enums in normalized schemas", () => {
167184const defaultTools = createOpenClawCodingTools({ config: testConfig, senderIsOwner: true });
168185const toolNames = ["canvas", "nodes", "cron", "gateway", "message"];
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。