pddl-workspace
Version:
28 lines (27 loc) • 1.43 kB
TypeScript
import { DomainInfo, ProblemInfo, Plan, parser } from '../index';
import { PlannerConfiguration, PlannerProvider, PlannerRunConfiguration } from './PlannerProvider';
import { PlannerResponseHandler } from './PlannerResponseHandler';
/** Planner run-time configuration. This serves for troubleshooting run failures.*/
export interface ProviderConfiguration {
/** Configuration that was used by the planner factory to create this Planner */
configuration: PlannerConfiguration;
/** Planner provider that was used to create this Planner */
provider?: PlannerProvider;
}
/**
* Abstract base class for all planners.
*/
export declare abstract class Planner {
protected readonly plannerPath: string;
protected plannerConfiguration: PlannerRunConfiguration;
readonly providerConfiguration: ProviderConfiguration;
private _planningProcessKilled;
constructor(plannerPath: string, plannerConfiguration: PlannerRunConfiguration, providerConfiguration: ProviderConfiguration);
/** `true` if the planning run was stopped */
get planningProcessKilled(): boolean;
get requiresKeyboardInput(): boolean;
/** `true` if the planner supports search debugger call-backs */
get supportsSearchDebugger(): boolean;
abstract plan(domain: DomainInfo, problem: ProblemInfo, planParser: parser.PddlPlannerOutputParser, responseHandler: PlannerResponseHandler): Promise<Plan[]>;
stop(): void;
}