mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 09:30:43 +00:00
* fix(models): normalize provider runtime selection * fix(models): reverse codex-only runtime migration * fix(models): default runtime selection to pi * fix(status): label model runtime clearly * fix(status): align pi runtime label * fix(plugins): align tool result middleware runtime naming * fix(models): validate runtime overrides
56 lines
1.7 KiB
TypeScript
56 lines
1.7 KiB
TypeScript
import fs from "node:fs";
|
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
import { createTestPluginApi } from "../../test/helpers/plugins/plugin-api.js";
|
|
|
|
const { tokenjuiceFactory, createTokenjuiceOpenClawEmbeddedExtension } = vi.hoisted(() => {
|
|
const tokenjuiceFactory = vi.fn();
|
|
const createTokenjuiceOpenClawEmbeddedExtension = vi.fn(() => tokenjuiceFactory);
|
|
return {
|
|
tokenjuiceFactory,
|
|
createTokenjuiceOpenClawEmbeddedExtension,
|
|
};
|
|
});
|
|
|
|
vi.mock("./runtime-api.js", () => ({
|
|
createTokenjuiceOpenClawEmbeddedExtension,
|
|
}));
|
|
|
|
import plugin from "./index.js";
|
|
|
|
describe("tokenjuice bundled plugin", () => {
|
|
beforeEach(() => {
|
|
createTokenjuiceOpenClawEmbeddedExtension.mockClear();
|
|
tokenjuiceFactory.mockClear();
|
|
});
|
|
|
|
it("is opt-in by default", () => {
|
|
const manifest = JSON.parse(
|
|
fs.readFileSync(new URL("./openclaw.plugin.json", import.meta.url), "utf8"),
|
|
) as { enabledByDefault?: unknown };
|
|
|
|
expect(manifest.enabledByDefault).toBeUndefined();
|
|
});
|
|
|
|
it("registers tokenjuice tool result middleware for Pi and Codex runtimes", () => {
|
|
const registerAgentToolResultMiddleware = vi.fn();
|
|
|
|
plugin.register(
|
|
createTestPluginApi({
|
|
id: "tokenjuice",
|
|
name: "tokenjuice",
|
|
source: "test",
|
|
config: {},
|
|
pluginConfig: {},
|
|
runtime: {} as never,
|
|
registerAgentToolResultMiddleware,
|
|
}),
|
|
);
|
|
|
|
expect(createTokenjuiceOpenClawEmbeddedExtension).toHaveBeenCalledTimes(1);
|
|
expect(tokenjuiceFactory).toHaveBeenCalledTimes(1);
|
|
expect(registerAgentToolResultMiddleware).toHaveBeenCalledWith(expect.any(Function), {
|
|
runtimes: ["pi", "codex"],
|
|
});
|
|
});
|
|
});
|