import { type FuncType, type Type } from '@frontmcp/di'; import { type ToolInputOf, type ToolOutputOf } from '../decorators'; import { type ToolInputType, type ToolOutputType } from '../metadata'; import { type JobMetadata } from '../metadata/job.metadata'; import { ExecutionContextBase, type ExecutionContextBaseArgs } from './execution-context.interface'; export type JobType = Type | FuncType | string; export type JobCtorArgs = ExecutionContextBaseArgs & { metadata: JobMetadata; input: In; attempt: number; }; export declare abstract class JobContext, Out = ToolOutputOf<{ outputSchema: OutSchema; }>> extends ExecutionContextBase { protected readonly jobId: string; protected readonly jobName: string; readonly metadata: JobMetadata; private _input; private _output?; private readonly _attempt; private readonly _logs; constructor(args: JobCtorArgs); abstract execute(input: In): Promise; get input(): In; get output(): Out | undefined; set output(v: Out | undefined); /** Current retry attempt number (1-based). */ get attempt(): number; /** Log a message within the job execution. */ protected log(message: string): void; /** Report progress. Returns false if no session is available. */ protected progress(pct: number, total?: number, msg?: string): Promise; /** Immediately respond with a value and stop execution. */ respond(value: Out): never; /** Get all logs recorded during execution. */ getLogs(): readonly string[]; } //# sourceMappingURL=job.interface.d.ts.map