fix: adapt tidb tool to moltbot tools
This commit is contained in:
parent
693123ac3f
commit
98fb58e318
@ -1,11 +1,11 @@
|
|||||||
import { describe, expect, it } from "vitest";
|
import { describe, expect, it } from "vitest";
|
||||||
|
|
||||||
import type { ClawdbotConfig } from "../config/config.js";
|
import type { MoltbotConfig } from "../config/config.js";
|
||||||
import { createClawdbotTools } from "./clawdbot-tools.js";
|
import { createMoltbotTools } from "./moltbot-tools.js";
|
||||||
|
|
||||||
describe("createClawdbotTools (tidb)", () => {
|
describe("createMoltbotTools (tidb)", () => {
|
||||||
it("omits tidb tool when disabled", () => {
|
it("omits tidb tool when disabled", () => {
|
||||||
const cfg: ClawdbotConfig = {
|
const cfg: MoltbotConfig = {
|
||||||
tools: {
|
tools: {
|
||||||
tidb: {
|
tidb: {
|
||||||
enabled: false,
|
enabled: false,
|
||||||
@ -13,12 +13,12 @@ describe("createClawdbotTools (tidb)", () => {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
const tools = createClawdbotTools({ config: cfg });
|
const tools = createMoltbotTools({ config: cfg });
|
||||||
expect(tools.some((tool) => tool.name === "tidb")).toBe(false);
|
expect(tools.some((tool) => tool.name === "tidb")).toBe(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("adds tidb tool when enabled + configured", () => {
|
it("adds tidb tool when enabled + configured", () => {
|
||||||
const cfg: ClawdbotConfig = {
|
const cfg: MoltbotConfig = {
|
||||||
tools: {
|
tools: {
|
||||||
tidb: {
|
tidb: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
@ -26,19 +26,19 @@ describe("createClawdbotTools (tidb)", () => {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
const tools = createClawdbotTools({ config: cfg });
|
const tools = createMoltbotTools({ config: cfg });
|
||||||
expect(tools.some((tool) => tool.name === "tidb")).toBe(true);
|
expect(tools.some((tool) => tool.name === "tidb")).toBe(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("adds tidb tool when enabled (even if url is missing)", () => {
|
it("adds tidb tool when enabled (even if url is missing)", () => {
|
||||||
const cfg: ClawdbotConfig = {
|
const cfg: MoltbotConfig = {
|
||||||
tools: {
|
tools: {
|
||||||
tidb: {
|
tidb: {
|
||||||
enabled: true,
|
enabled: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
const tools = createClawdbotTools({ config: cfg });
|
const tools = createMoltbotTools({ config: cfg });
|
||||||
expect(tools.some((tool) => tool.name === "tidb")).toBe(true);
|
expect(tools.some((tool) => tool.name === "tidb")).toBe(true);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -2,7 +2,7 @@ import { spawn } from "node:child_process";
|
|||||||
|
|
||||||
import { Type } from "@sinclair/typebox";
|
import { Type } from "@sinclair/typebox";
|
||||||
|
|
||||||
import type { ClawdbotConfig } from "../../config/config.js";
|
import type { MoltbotConfig } from "../../config/config.js";
|
||||||
import { sanitizeBinaryOutput } from "../shell-utils.js";
|
import { sanitizeBinaryOutput } from "../shell-utils.js";
|
||||||
import { optionalStringEnum } from "../schema/typebox.js";
|
import { optionalStringEnum } from "../schema/typebox.js";
|
||||||
import type { AnyAgentTool } from "./common.js";
|
import type { AnyAgentTool } from "./common.js";
|
||||||
@ -197,9 +197,9 @@ function parseTsvToRows(stdout: string): {
|
|||||||
return { columns, rows };
|
return { columns, rows };
|
||||||
}
|
}
|
||||||
|
|
||||||
type TiDbToolConfig = NonNullable<ClawdbotConfig["tools"]>["tidb"];
|
type TiDbToolConfig = NonNullable<MoltbotConfig["tools"]>["tidb"];
|
||||||
|
|
||||||
function resolveTiDbToolConfig(cfg?: ClawdbotConfig): TiDbToolConfig | undefined {
|
function resolveTiDbToolConfig(cfg?: MoltbotConfig): TiDbToolConfig | undefined {
|
||||||
const tidb = cfg?.tools?.tidb;
|
const tidb = cfg?.tools?.tidb;
|
||||||
if (!tidb || typeof tidb !== "object") return undefined;
|
if (!tidb || typeof tidb !== "object") return undefined;
|
||||||
return tidb as TiDbToolConfig;
|
return tidb as TiDbToolConfig;
|
||||||
@ -255,7 +255,7 @@ function resolveMaxOutputChars(cfg?: TiDbToolConfig): number {
|
|||||||
return 60_000;
|
return 60_000;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function createTiDbTool(options: { config?: ClawdbotConfig }): AnyAgentTool | null {
|
export function createTiDbTool(options: { config?: MoltbotConfig }): AnyAgentTool | null {
|
||||||
const cfg = options.config;
|
const cfg = options.config;
|
||||||
if (!cfg) return null;
|
if (!cfg) return null;
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user