import type { ResidentHistoryScope } from '../manager/resident/history.js'; import { type ResidentLearningSource, type ResidentLearningState } from '../manager/resident/learning.js'; import type { ResidentState } from '../manager/resident/store.js'; import type { PromptContribution } from './contributions.js'; /** @experimental Host-selected context for one admitted resident step. */ export interface ResidentStepPromptOptions { readonly state: ResidentState; /** The host-approved learning snapshot bound to this admission. */ readonly learning?: ResidentLearningState; /** Host resolves current dependency revisions for each model request. No model-generated revisions. */ readonly resolveLearningSources?: () => readonly ResidentLearningSource[]; /** Bound historical source whose read-only tools the host has mounted. */ readonly history?: ResidentHistoryScope; /** The host mounted scoped search_resident_tools/read_resident_tool capabilities. */ readonly toolEvidence?: boolean; /** Host-loaded guidance for this invocation; this factory performs no I/O. */ readonly skillsContext?: string; /** Describe an existing read-only boundary; this does not enforce permissions. */ readonly readOnly?: boolean; /** The host owns its response format, validation and settlement protocol. */ readonly outputInstructions: string; } /** * @experimental Capture resident guidance and continuation state as two prompt * contributions. Register them on the registry supplied to `query`. * * The static contribution carries stable work guidance and the host's output * contract. The dynamic contribution captures this invocation's state and * approved learning, outside the cached prefix. Both remain present on every * iteration; build fresh contributions for the next admitted step. * * Project instructions and authorization remain on their existing host/runtime * paths. These contributions neither load project files nor authorize work. */ export declare function createResidentStepContributions(options: ResidentStepPromptOptions): readonly PromptContribution[]; //# sourceMappingURL=resident-step.d.ts.map