@adonis-agora/agent
Version:
Governed, durable-backed AI agent (chat + tool-calling + governance) for AdonisJS — part of the Agora ecosystem.
40 lines • 1.67 kB
TypeScript
import { type ResolveToolUiCatalog } from './negotiated-tool-ui.js';
import type { ActionProposal } from './spi/action-proposal-store.js';
import type { BackgroundActorResolver } from './spi/background-actor-resolver.js';
import type { RolesPolicy } from './spi/roles-policy.js';
import type { PresentationErrorHandler } from './spi/tool.js';
import type { AgentUiComponent } from './stream-events.js';
import type { ToolRegistry } from './tool-registry.js';
import type { Actor, Persona } from './types.js';
export interface ActionProposalExecutionDeps {
registry: ToolRegistry;
rolesPolicy: RolesPolicy;
allowedTools?: string[];
host?: unknown;
persona?: Persona;
resolveUiCatalog?: ResolveToolUiCatalog;
/** Where a tool's failed `present` is reported. Undefined → a console warning. */
onPresentationError?: PresentationErrorHandler;
}
export interface ActionProposalExecutorOptions {
resolver: BackgroundActorResolver;
/** Resolve exact recorded agent/persona against current configuration; throw if it disappeared. */
resolveExecution(proposal: ActionProposal, actor: Actor): Promise<ActionProposalExecutionDeps>;
}
export type ActionProposalExecutionResult = {
status: 'succeeded';
result?: unknown;
ui: AgentUiComponent[];
text?: string;
} | {
status: 'failed';
error: string;
ui: AgentUiComponent[];
text?: string;
};
export declare class ActionProposalExecutor {
private readonly options;
constructor(options: ActionProposalExecutorOptions);
execute(proposal: ActionProposal): Promise<ActionProposalExecutionResult>;
}
//# sourceMappingURL=action-proposal-executor.d.ts.map