Files
openclaw/extensions/diffs/index.ts
Gustavo Madeira Santana 612ed5b3e1 diffs plugin
2026-02-28 18:38:00 -05:00

29 lines
1.0 KiB
TypeScript

import path from "node:path";
import type { OpenClawPluginApi } from "openclaw/plugin-sdk";
import { emptyPluginConfigSchema, resolvePreferredOpenClawTmpDir } from "openclaw/plugin-sdk";
import { createDiffsHttpHandler } from "./src/http.js";
import { DIFFS_AGENT_GUIDANCE } from "./src/prompt-guidance.js";
import { DiffArtifactStore } from "./src/store.js";
import { createDiffsTool } from "./src/tool.js";
const plugin = {
id: "diffs",
name: "Diffs",
description: "Read-only diff viewer and PNG renderer for agents.",
configSchema: emptyPluginConfigSchema(),
register(api: OpenClawPluginApi) {
const store = new DiffArtifactStore({
rootDir: path.join(resolvePreferredOpenClawTmpDir(), "openclaw-diffs"),
logger: api.logger,
});
api.registerTool(createDiffsTool({ api, store }));
api.registerHttpHandler(createDiffsHttpHandler({ store, logger: api.logger }));
api.on("before_prompt_build", async () => ({
prependContext: DIFFS_AGENT_GUIDANCE,
}));
},
};
export default plugin;