pddl-planning-service-client
Version:
PDDL Planning Service clients
39 lines (38 loc) • 1.91 kB
TypeScript
import { Plan, ProblemInfo, DomainInfo, parser, planner } from 'pddl-workspace';
import { PlannerService, ServerRequest, ServerResponse } from './PlannerService';
/** Wraps the `/package/xyz/solve` planning-as-a-service web service interface. */
export declare class PlannerPackagePreviewService extends PlannerService<PackagedServerRequest, PackagedServerResponse> {
constructor(plannerUrl: string, plannerConfiguration: planner.PlannerRunConfiguration, providerConfiguration: planner.ProviderConfiguration);
createUrl(): string;
getTimeout(): number;
createRequestBody(domainFileInfo: DomainInfo, problemFileInfo: ProblemInfo): Promise<PackagedServerRequest | null>;
processServerResponseBody(origUrl: string, responseBody: PackagedServerResponse, planParser: parser.PddlPlannerOutputParser, callbacks: planner.PlannerResponseHandler): Promise<Plan[]>;
checkForResults(origUrl: string, planParser: parser.PddlPlannerOutputParser, callbacks: planner.PlannerResponseHandler): Promise<Plan[]>;
}
export type PackagedServerRequestArgs = {
[key: string]: number | string | boolean;
};
/** Planner package service request body. */
interface PackagedServerRequest extends ServerRequest {
domain: string;
problem: string;
}
/** Planner package service response body. */
interface PackagedServerResponse extends ServerResponse {
status?: "PENDING" | "error" | "ok";
result?: CallbackUrl | PackagedServerResponseResult;
/** @deprecated but populated by the forbid iterative topk planner, when it is missing a mandatory argument*/
Error: string;
}
/** Used when the planning request was just submitted. */
type CallbackUrl = string;
type PackagedServerResponseResultOutput = {
[key: string]: string;
};
interface PackagedServerResponseResult {
output: PackagedServerResponseResultOutput;
error: string;
stderr?: string;
stdout?: string;
}
export {};