summaryrefslogtreecommitdiffhomepage
path: root/packages/tool-write-file/src/extension.ts
blob: 0a9a10f26060f7ff6e152243ff3b95c611b655a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { execBackendHandle } from "@dispatch/exec-backend";
import type { Extension } from "@dispatch/kernel";
import { createWriteFileTool } from "./write-file.js";

export const extension: Extension = {
	manifest: {
		id: "tool-write-file",
		name: "Write File Tool",
		version: "0.0.0",
		apiVersion: "^0.1.0",
		trust: "bundled",
		activation: "eager",
		capabilities: { fs: true },
		contributes: { tools: ["write_file"] },
		// Host activates exec-backend first → host.getService at activation is safe.
		dependsOn: ["exec-backend"],
	},
	activate(host) {
		const resolveBackend = host.getService(execBackendHandle);
		host.defineTool(createWriteFileTool({ resolveBackend, workdir: process.cwd() }));
	},
};