forked from WHC/Hermit
- Skills (SKILL.md discovery, skill tool, /skills /skill) - plugin.json exec tools with permission prompts, timeouts and workspace trust (/plugins) - MCP stdio client: JSON-RPC initialize/tools/list/tools/call, mcp__server__tool, /mcp and sidebar status - task tool with general/explore/plan and .agent/agents/*.md roles, parallel read-only runs, cancel propagation, /agents - Keymap with Ctrl+X leader, keybinds.json overrides and /keys panel - Collapsed thinking, throttled streaming Markdown, leaner tool output, parallel read-only tools - Spawn: close-on-exec pipes and a process-wide fork lock - Tests for keymap, skills, plugins, MCP, sub-agents, shell compaction; docs/plugins.md
32 lines
852 B
C
32 lines
852 B
C
#ifndef CST_EXT_H
|
|
#define CST_EXT_H
|
|
|
|
/* Startup / reload of everything that adds tools at runtime: the skill
|
|
* tool, plugin exec tools and MCP servers. */
|
|
|
|
#include "cst_agent.h"
|
|
|
|
#include <stddef.h>
|
|
#include <stdio.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Load for cfg's workspace (no-op for `--tools minimal`). One-line summary
|
|
* in report, e.g. "2 skills · 1 plugin (3 tools) · mcp 1/2". */
|
|
void cst_extensions_load(const cst_agent_config_t *cfg, char *report,
|
|
size_t report_sz);
|
|
/* Summary of the last load (empty when nothing was found). */
|
|
const char *cst_extensions_report(void);
|
|
/* Headless: wait for MCP handshakes, then note servers that failed. */
|
|
void cst_extensions_wait(FILE *log);
|
|
/* Drop plugin/MCP tools and stop MCP servers. */
|
|
void cst_extensions_unload(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|