@adonis-agora/agent
Version:
Governed, durable-backed AI agent (chat + tool-calling + governance) for AdonisJS — part of the Agora ecosystem.
27 lines • 1.25 kB
TypeScript
import type { AST } from 'node-sql-parser';
/**
* The slice of `node-sql-parser`'s `Parser` the data satellite uses. Typed structurally so the guardrail
* files (`sql-validator`, `tenant-scope`, `limit`) never import the package at module load — they take a
* parser instance. `node-sql-parser` stays an **optional lazy peer**: only {@link loadSqlParser} imports it,
* and only when the `data` tool is actually built.
*/
export interface SqlParserLike {
astify(sql: string, opt?: {
database?: string;
}): AST | AST[];
sqlify(ast: AST, opt?: {
database?: string;
}): string;
tableList(sql: string, opt?: {
database?: string;
}): string[];
}
/** Re-export the parser AST type for the guardrail files (type-only — erased at compile). */
export type { AST } from 'node-sql-parser';
/**
* Lazily import `node-sql-parser` and build a single shared {@link SqlParserLike}. The import lives here
* (not at any module's top level) so the package is only pulled in when the `data` tool is configured —
* keeping `node-sql-parser` an optional peer, exactly like `@adonisjs/lucid` is for the stores.
*/
export declare function loadSqlParser(): Promise<SqlParserLike>;
//# sourceMappingURL=parser.d.ts.map