@adonis-agora/agent
Version:
Governed, durable-backed AI agent (chat + tool-calling + governance) for AdonisJS — part of the Agora ecosystem.
45 lines • 2.1 kB
TypeScript
import type { IndexGenerator } from '@adonisjs/assembler/index_generator';
/**
* Where the generated tools barrel is written, relative to the app root. The agent provider imports
* THIS path at boot (build-time codegen) instead of scanning `app/agent_tools` with `readdir` at
* runtime. Kept in sync with the module the provider imports.
*/
export declare const GENERATED_TOOLS_OUTPUT = ".adonisjs/agent/tools.ts";
/** Options for {@link toolsHook} — mirror the relevant `IndexGenerator.add` knobs. */
export interface ToolsHookOptions {
/** Directory the generator scans for tool modules, relative to the app root. Default `app/agent_tools`. */
source?: string;
/** Import alias the generated barrel uses for each tool module. Default `#agent_tools`. */
importAlias?: string;
/** Output path for the generated barrel, relative to the app root. Default `.adonisjs/agent/tools.ts`. */
output?: string;
}
/**
* An AdonisJS **Assembler `init` hook** that generates a typed barrel of the app's `app/agent_tools/`
* directory at build/dev time — exactly how `@adonisjs/core` generates the controllers/events barrels
* and how `@adonis-agora/durable`'s steps hook does for `app/steps`. The provider imports the generated
* `.adonisjs/agent/tools.ts` at boot and registers every `@AiTool`/`defineTool` export it finds
* (falling back to the runtime scan when the barrel is absent).
*
* Register it in `adonisrc.ts`:
*
* ```ts
* export default defineConfig({
* hooks: {
* init: [() => import('@adonis-agora/agent/hooks/tools')],
* },
* })
* ```
*/
export declare function toolsHook(options?: ToolsHookOptions): {
run(_parent: unknown, _hooks: unknown, indexGenerator: IndexGenerator): void;
};
/**
* The default export is the hook object itself, so `() => import('@adonis-agora/agent/hooks/tools')`
* in `adonisrc.ts` resolves to a ready hook (the assembler calls its `run`).
*/
declare const _default: {
run(_parent: unknown, _hooks: unknown, indexGenerator: IndexGenerator): void;
};
export default _default;
//# sourceMappingURL=tools.d.ts.map