/** * Subagent content file module for subagent content parsing. * * The content file's YAML frontmatter is largely free-form: only `name` is * required and validated. `agentOverrides`, when present, is recognized for * use in per-agent rendering. Any other frontmatter keys flow through * verbatim to the agent-native file produced by the renderer. * * @experimental This API is unstable and may change without notice. */ import * as Effect from "effect/Effect"; import * as Option from "effect/Option"; import { type AppError } from "../app-error/index.js"; /** * Map of agent-id → merge patch applied during per-agent rendering. * * @experimental This API is unstable and may change without notice. */ export type SubagentAgentOverrides = Readonly>>>; /** * Result of parsing a subagent content file. * * @experimental This API is unstable and may change without notice. */ export interface SubagentContentResult { /** The full frontmatter map, opaque except for `name`. Empty when no frontmatter. */ readonly frontmatter: Option.Option>>; /** The `agentOverrides` map keyed by agent id, when present and structurally valid. */ readonly agentOverrides: Option.Option; /** Content body after the frontmatter block, or full content if no frontmatter. */ readonly body: string; } /** * Parse a subagent content file into validated frontmatter and body. * * Validates only that frontmatter is present and that its `name` matches * the expected name. All other keys are preserved verbatim. * * @experimental This API is unstable and may change without notice. */ export declare const parseSubagentMd: (content: string, expectedName: string) => Effect.Effect; //# sourceMappingURL=subagent-content.d.ts.map