/** * describeSchema โ€” pure-functional SDK tool that returns a JSON descriptor of * all drizzle tables and their columns, sourced from the tasks-schema barrel. * * This is a Category B SDK Tool: harness-agnostic, no I/O, no database * connection required. The drizzle schema objects are introspected statically * via `getTableColumns` and the internal `ExtraConfigBuilder` symbol. * * @arch SDK Tool (Category B) โ€” T10071 / Epic T9835 / Saga T9831 * @task T10071 * * @example * ```typescript * import { describeSchema } from './describe-schema.js'; * * const descriptor = describeSchema(); * console.log(descriptor.tables.map((t) => t.name)); * // => ['tasks_tasks', 'tasks_task_dependencies', 'tasks_sessions', ...] * * // Task-domain symbols are rebound to the PREFIXED consolidated tables * // (T11883 ยท E3), so the described physical name is `tasks_tasks`. * const tasksCols = descriptor.tables.find((t) => t.name === 'tasks_tasks')?.columns; * console.log(tasksCols?.map((c) => c.name)); * // => ['id', 'title', 'status', ...] * ``` */ import type { SchemaDescriptor } from '@cleocode/contracts'; /** * Return a static JSON descriptor of all drizzle tables in the tasks schema. * * No database connection is required โ€” introspection is performed on the * drizzle table objects exported from `packages/core/src/store/schema/`. * * @returns SchemaDescriptor with one entry per drizzle table * * @example * ```typescript * const { tables } = describeSchema(); * const tasksTable = tables.find((t) => t.name === 'tasks'); * // => { name: 'tasks', columns: [...], indexes: [...] } * ``` */ export declare function describeSchema(): SchemaDescriptor; /** * Registered SDK tool wrapping describeSchema for external discovery. * * @example * ```typescript * import { describeSchemaRegistered } from './describe-schema.js'; * const result = describeSchemaRegistered.invoke({}); * ``` */ export declare const describeSchemaRegistered: import("./sdk-tool.js").RegisteredSdkTool, SchemaDescriptor>; //# sourceMappingURL=describe-schema.d.ts.map