import type { DiscoveryResult } from "../../discovery/types.js"; import { type VeryfrontConfig } from "../../config/index.js"; import type { RuntimeAdapter } from "../../platform/adapters/base.js"; import type { FileSystemAdapter } from "../../platform/adapters/base.js"; import type { RuntimeAgentMarkdownDefinition } from "../runtime/agent-definition.js"; import type { Agent } from "../types.js"; import { type SourceIntegrationPolicyManifest } from "../../integrations/source-policy.js"; /** Public API contract for project agent runtime agent source. */ export type ProjectAgentRuntimeAgentSource = "auto" | "code" | "markdown"; /** Public API contract for project agent runtime agent ID candidates. */ export type ProjectAgentRuntimeAgentIdCandidates = { codeAgentIds: string[]; markdownAgentIds: string[]; }; /** Input payload for discover project agent runtime. */ export type DiscoverProjectAgentRuntimeInput = { projectDir: string; adapter?: RuntimeAdapter; config?: VeryfrontConfig | null; fsAdapter?: FileSystemAdapter; cacheKey?: string; verbose?: boolean; /** Immutable outer restriction to preserve while loading and discovering this source. */ sourceIntegrationPolicy?: SourceIntegrationPolicyManifest; /** Explicit host-owned capability for a trusted local or dedicated runtime. */ allowHostProjectCodeExecution?: boolean; }; /** Project discovery plus the normalized policy owned by that exact source. */ export type ProjectAgentRuntimeDiscovery = DiscoveryResult & { sourceIntegrationPolicy: SourceIntegrationPolicyManifest; }; /** Execute a project-runtime lifetime without allowing an outer policy to widen. */ export declare function runWithProjectAgentRuntime(runtime: Pick, fn: () => T): T; /** Clear project agent runtime registries. */ export declare function clearProjectAgentRuntimeRegistries(): void; /** Discover project agent runtime helper. */ export declare function discoverProjectAgentRuntime(input: DiscoverProjectAgentRuntimeInput): Promise; /** Does project agent runtime agent match source helper. */ export declare function doesProjectAgentRuntimeAgentMatchSource(runtimeAgent: Agent, source: ProjectAgentRuntimeAgentSource): boolean; /** Create runtime agent definition from agent. */ export declare function createRuntimeAgentDefinitionFromAgent(runtimeAgent: Agent): Promise; /** Return project agent runtime agent ID candidates. */ export declare function getProjectAgentRuntimeAgentIdCandidates(discoveryResult: Pick | null | undefined): ProjectAgentRuntimeAgentIdCandidates; /** Describe project agent runtime agent ID candidates helper. */ export declare function describeProjectAgentRuntimeAgentIdCandidates(input: ProjectAgentRuntimeAgentIdCandidates): string; /** Resolves single project agent runtime agent ID. */ export declare function resolveSingleProjectAgentRuntimeAgentId(input: { candidates: ProjectAgentRuntimeAgentIdCandidates; source: ProjectAgentRuntimeAgentSource; }): string | null; //# sourceMappingURL=agent-runtime.d.ts.map