summaryrefslogtreecommitdiffhomepage
path: root/packages/skills/src/extension.ts
blob: e8000e4c187fd02140a01bda5eb775b326cb18b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import { homedir } from "node:os";
import type { Extension, HostAPI } from "@dispatch/kernel";
import { toolsFilter } from "@dispatch/session-orchestrator";
import { createLoadSkillTool } from "./load-skill.js";
import { makeSkillsToolFilter } from "./tools-filter.js";

export const extension: Extension = {
	manifest: {
		id: "skills",
		name: "Skills",
		version: "0.0.0",
		apiVersion: "^0.1.0",
		trust: "bundled",
		activation: "eager",
		dependsOn: ["session-orchestrator"],
		capabilities: { fs: true },
		contributes: { tools: ["load_skill"] },
	},
	activate(host: HostAPI) {
		const homeDir = homedir();
		const workdir = process.cwd();

		host.defineTool(createLoadSkillTool({ homeDir, workdir }));
		host.addFilter(toolsFilter, makeSkillsToolFilter({ homeDir, workdir }));
	},
};