import { type ScopedContextResult } from '../context/scoped-broker.js'; import type { SqliteDatabase } from '../db/adapter.js'; import type { EmbeddingRuntime } from '../embedding/types.js'; import { type ResolvedProjectWorkspace } from '../memory/workspaces.js'; import type { SkillDiscoveryMode, SkillDiscoverySummary } from '../skills/types.js'; import { type CapabilityResolution, type CapabilityWarning, type MemoryPolicy } from './capabilities.js'; import type { AkinatorContext, AkinatorReasoning, TaskProfile } from './types.js'; export interface PrepareAgentTaskInput { requestId: string; task: string; cwd?: string; profileHints?: Partial; capabilities?: unknown; maxContextChars?: number; client?: { kind?: string; version?: string; sessionId?: string; }; skillDiscoveryMode?: SkillDiscoveryMode; fetchImpl?: typeof fetch; embeddingRuntime?: EmbeddingRuntime; signal?: AbortSignal; } export interface AnswerAgentTaskInput { sessionId: string; questionId: keyof TaskProfile; value: string; cwd?: string; capabilities?: unknown; maxContextChars?: number; runId: string; skillDiscoveryMode?: SkillDiscoveryMode; fetchImpl?: typeof fetch; embeddingRuntime?: EmbeddingRuntime; signal?: AbortSignal; } export interface PreparedAgentTask { project: ResolvedProjectWorkspace; executionContext: AgentTaskExecutionContext; intake: { status: AkinatorContext['status']; sessionId: string; profile: TaskProfile; question: AkinatorContext['question']; missingFields: AkinatorContext['missingFields']; recommendedTags: string[]; reasoning: AkinatorReasoning; }; capabilities: CapabilityResolution; run: { runId: string; status: 'intake' | 'active'; }; skillDiscovery: SkillDiscoverySummary; context: ScopedContextResult | null; memoryPolicy: MemoryPolicy; warnings: CapabilityWarning[]; nextAction: 'proceed' | 'answer_from_evidence_or_ask_user' | 'required_capability_unavailable'; securityNotice: string; } export interface AgentTaskExecutionContext { canonicalCwd: string; repositoryRoot: string; cwdIsRepositoryRoot: boolean; pathPolicy: 'canonical_absolute_under_repository_root'; } export declare function prepareAgentTask(database: SqliteDatabase, input: PrepareAgentTaskInput): Promise; export declare function answerAgentTask(database: SqliteDatabase, input: AnswerAgentTaskInput): Promise; //# sourceMappingURL=agent-task.d.ts.map