export interface SkillBundleLocation { /** skill slug(manifest.metadata.slug)*/ slug: string; /** skill 语义版本(manifest.metadata.version)*/ version: string; /** bundle 根目录绝对路径 */ bundle_dir: string; /** runtime server 入口脚本绝对路径(默认 /dist/runtime/server.js)*/ server_entry: string; /** runtime daemon 入口脚本绝对路径(可选)*/ daemon_entry: string | null; /** loopback 监听端口,从 manifest runtime.endpoint 解析 */ port: number; } export interface SkillDaemonHandle { slug: string; version: string; port: number; /** server 子进程 PID */ server_pid: number; /** daemon 子进程 PID(可选,M1 默认不启动 daemon 进程)*/ daemon_pid: number | null; started_at: string; /** loopback URL —— 永远 127.0.0.1,守 §1.5 BYOK 红线 */ endpoint: string; } export interface LocalSkillRegistryEntry extends SkillDaemonHandle { /** skill bundle 目录(方便 stop 命令清理时直接找)*/ bundle_dir: string; /** 上次 health check 成功时间(ms timestamp)*/ last_health_at: number; } /** `~/.skillfm/skills.local.json` 顶层结构 */ export interface LocalSkillRegistry { version: 1; skills: Record; } export interface RunSkillOptions { /** skill slug,例如 `xianyu-avatar-adult` */ slug: string; /** 可选:bundle 查找根目录覆盖。默认 env `SKILLFM_SKILL_BUNDLE_ROOT` 或 `~/.skillfm/skills` */ bundle_root_override?: string; /** health check 轮询超时(默认 20s)*/ health_timeout_ms?: number; /** 是否同时启动 daemon 子进程(默认 false —— M1 先只启动 server)*/ start_daemon?: boolean; /** 注入到 skill 子进程的环境变量(用于 cookie 路径等 BYOK 配置)*/ env_overrides?: Record; } /** run-skill CLI 输出(成功时)*/ export interface RunSkillResult { ok: true; handle: SkillDaemonHandle; hint_for_agent: string; } export interface RunSkillError { ok: false; error: 'SKILL_NOT_FOUND' | 'MANIFEST_INVALID' | 'ALREADY_RUNNING' | 'PORT_CONFLICT' | 'SPAWN_FAILED' | 'HEALTH_TIMEOUT'; message: string; hint_for_agent: string; } //# sourceMappingURL=types.d.ts.map