/**
 * @aexol/spectral — Public API for extension authors.
 *
 * Import types and utilities from this package when writing .spectral extensions.
 *
 * ## Quick Start
 *
 * ```ts
 * import type { ExtensionAPI, ToolDefinition } from "@aexol/spectral";
 *
 * export default function activate(ext: ExtensionAPI): void {
 *   ext.registerTool({
 *     name: "my_tool",
 *     label: "My Tool",
 *     description: "Does something useful.",
 *     parameters: { type: "object", properties: {}, additionalProperties: false },
 *     async execute(_id, params) {
 *       return { content: [{ type: "text", text: "Done!" }], details: {} };
 *     },
 *   });
 * }
 * ```
 *
 * ## Event Handling
 *
 * ```ts
 * import type { ExtensionAPI, BeforeAgentStartEvent } from "@aexol/spectral";
 *
 * export default function activate(ext: ExtensionAPI): void {
 *   ext.on("before_agent_start", (event, ctx) => {
 *     // inspect or modify the system prompt
 *     return { systemPrompt: event.systemPrompt + "\nExtra instructions..." };
 *   });
 * }
 * ```
 */
// ---------------------------------------------------------------------------
// Tool definition helpers.
// ---------------------------------------------------------------------------
export { defineTool } from "./sdk/coding-agent/index.js";
// ---------------------------------------------------------------------------
// Type guards for tool result events.
// ---------------------------------------------------------------------------
export { isBashToolResult, isEditToolResult, isFindToolResult, isGrepToolResult, isLsToolResult, isReadToolResult, isToolCallEventType, isWriteToolResult, } from "./sdk/coding-agent/index.js";
