/** * Absolute path to a section of the packaged Agency docs. `make` stages * `docs/site/{guide,cli}` into `stdlib/docs/` (see stage-stdlib-docs in * the makefile), so one copy serves compiled and source runs. */ export declare function _docsDir(section: "guide" | "cli" | "diagnostics" | "stdlib"): string; /** The parent of every packaged docs section. */ export declare function _bundledDocsDir(): string; /** * tarsec's frontmatter serializer, the encode half of the parser * `std::markdown` wraps: `parse(stringify(x))` deep-equals `x` for every * flat string record it accepts. Throws on values the grammar cannot * hold (a key it cannot spell, or a value no quote character can * enclose); Agency callers wrap the call in `try`. */ export { stringifyFrontmatter as _stringifyFrontmatter } from "tarsec/parsers/markdown"; /** * Absolute path to the skills we ship for one agent, under * `stdlib/agents/skills/`. Resolved through the host for the same * reason as _docsDir: a path relative to the calling file works in the * repo and breaks once the package is installed into node_modules. * * The name is confined to that directory. `agentSkill` deliberately skips * the approval interrupt that `skillsDir` raises, on the grounds that these * files ship inside the package, so an `agent` of `"../../.."` would turn a * trusted scan into an unprompted scan of somewhere else entirely. Confining * here keeps that trust argument true. */ export declare function _agentSkillsDir(agent: string): string; /** * Absolute path to the prompt text we ship for the stdlib agents, under * `stdlib/agents/prompts`. Resolved through the host for the same reason * as _docsDir. */ export declare function _agentPromptsDir(): string; /** True when Claude Code would refuse `name` as a skill name or folder name, * or reserves it, so a skill scan skips it. */ export declare function _refusedSkillName(name: string): boolean; /** A skill file split into its frontmatter and its body. */ export type SkillFile = { data: Record; body: string; }; /** Read a `SKILL.md`: the top-level `key: value` lines of its frontmatter, * as strings, and the text after it. A line that is not one of those * never fails the whole block, so a frontmatter switch survives a list, a * comment, or a multi-line value beside it. With no frontmatter, or an * unclosed fence, the whole file is body. */ export declare function _parseSkillFile(raw: string): SkillFile;