import { AgentService } from "@mcoda/agents"; import { DocdexClient, VcsClient } from "@mcoda/integrations"; import { GlobalRepository, WorkspaceRepository } from "@mcoda/db"; import { WorkspaceResolution } from "../../workspace/WorkspaceManager.js"; import { JobService } from "../jobs/JobService.js"; import { TaskSelectionService, TaskSelectionFilters, TaskSelectionPlan } from "./TaskSelectionService.js"; import { TaskStateService } from "./TaskStateService.js"; import { RoutingService } from "../agents/RoutingService.js"; import { AgentRatingService } from "../agents/AgentRatingService.js"; export interface WorkOnTasksRequest extends TaskSelectionFilters { workspace: WorkspaceResolution; noCommit?: boolean; dryRun?: boolean; agentName?: string; agentStream?: boolean; rateAgents?: boolean; baseBranch?: string; autoMerge?: boolean; autoPush?: boolean; workRunner?: string; useCodali?: boolean; agentAdapterOverride?: string; onAgentChunk?: (chunk: string) => void; abortSignal?: AbortSignal; maxAgentSeconds?: number; allowFileOverwrite?: boolean; missingTestsPolicy?: MissingTestsPolicy; allowMissingTests?: boolean; executionContextPolicy?: ExecutionContextPolicy; } export interface TaskExecutionResult { taskKey: string; status: "succeeded" | "failed" | "skipped"; notes?: string; branch?: string; } export interface WorkOnTasksResult { jobId: string; commandRunId: string; selection: TaskSelectionPlan; results: TaskExecutionResult[]; warnings: string[]; } export type MissingTestsPolicy = "block_job" | "skip_task" | "fail_task" | "continue_task"; export type ExecutionContextPolicy = "best_effort" | "require_any" | "require_sds_or_openapi"; export declare class WorkOnTasksService { private workspace; private deps; private selectionService; private stateService; private taskLogSeq; private vcs; private routingService; private ratingService?; private readPromptFiles; constructor(workspace: WorkspaceResolution, deps: { agentService: AgentService; docdex: DocdexClient; jobService: JobService; workspaceRepo: WorkspaceRepository; selectionService?: TaskSelectionService; stateService?: TaskStateService; repo: GlobalRepository; vcsClient?: VcsClient; routingService: RoutingService; ratingService?: AgentRatingService; }); private loadPrompts; private ensureMcoda; private writeWorkCheckpoint; private persistPatchArtifact; private checkpoint; static create(workspace: WorkspaceResolution): Promise; close(): Promise; setDocdexAvailability(available: boolean, reason?: string): void; private resolveAgent; private ensureWorkAgent; private ensureRatingService; private resolveTaskComplexity; private nextLogSeq; private logTask; private recordTokenUsage; private updateTaskPhase; private enforceExecutionContextPolicy; private resolveExecutionPlanningContext; private gatherDocContext; private parseCommentBody; private buildCommentBacklog; private buildWorkLog; private loadCommentContext; private loadWorkLog; private countCommentBacklogFailures; private applyCommentResolutions; private buildPrompt; private checkoutBaseBranch; private buildCommitEnv; private commitPendingChanges; private ensureBranches; private formatGitError; private isNonFastForwardPush; private isNonFastForwardPull; private isRemotePermissionError; private isCommitHookFailure; private isGpgSignFailure; private isDirtyCheckoutError; private pushWithRecovery; private validateScope; private buildStructuredFileBlocks; private applyStructuredActions; private applyPatches; private applyFileBlocks; private usesCliBrowserTools; private ensureCypressChromium; private applyChromiumForTests; private findMissingTestHarnessTasks; private runTests; private selectMostDependedTask; workOnTasks(request: WorkOnTasksRequest): Promise; } //# sourceMappingURL=WorkOnTasksService.d.ts.map