import type { RuleMatchMethod, Language, PermissionMode } from '../core/models/types.js'; import type { StepProviderOptions } from '../core/models/workflow-types.js'; import type { SemanticRuleCandidate } from '../core/models/workflow-rule-condition.js'; import type { ProviderUsageSnapshot } from '../core/models/response.js'; import type { ProviderType } from '../core/workflow/types.js'; import type { RunAgentOptions, StreamCallback } from './runner.js'; export interface JudgeStatusOptions { cwd: string; stepName: string; provider?: ProviderType; resolvedProvider?: ProviderType; resolvedModel?: string; resolvedProviderOptions?: StepProviderOptions; permissionMode?: PermissionMode; projectCwd?: string; language?: Language; childProcessEnv?: RunAgentOptions['childProcessEnv']; mcpServers?: RunAgentOptions['mcpServers']; mcpAssignment?: RunAgentOptions['mcpAssignment']; mcpServerIdentity?: RunAgentOptions['mcpServerIdentity']; abortSignal?: AbortSignal; failureDir?: RunAgentOptions['failureDir']; onStream?: StreamCallback; onActivity?: () => void; onJudgeStage?: (entry: JudgeStageLogEntry) => void; onStructuredPromptResolved?: (promptParts: { systemPrompt: string; userInstruction: string; }) => void; } export interface JudgeStageLogEntry { stage: 1 | 2 | 3; method: 'structured_output' | 'phase3_tag' | 'ai_judge'; status: 'done' | 'error' | 'skipped'; instruction: string; response: string; providerUsage?: ProviderUsageSnapshot; } export interface TagJudgeRunOptions { cwd: string; provider?: ProviderType; resolvedProvider?: ProviderType; resolvedModel?: string; resolvedProviderOptions?: StepProviderOptions; permissionMode?: PermissionMode; projectCwd?: string; language?: Language; onStream?: StreamCallback; onActivity?: () => void; childProcessEnv?: RunAgentOptions['childProcessEnv']; mcpServers?: RunAgentOptions['mcpServers']; mcpAssignment?: RunAgentOptions['mcpAssignment']; mcpServerIdentity?: RunAgentOptions['mcpServerIdentity']; abortSignal?: AbortSignal; failureDir?: RunAgentOptions['failureDir']; stepName: string; onPromptResolved?: JudgeStatusOptions['onStructuredPromptResolved']; } export declare function runTagJudgeStage(tagInstruction: string, candidates: SemanticRuleCandidate[], runOptions: TagJudgeRunOptions, onJudgeStage?: JudgeStatusOptions['onJudgeStage']): Promise; export interface JudgeStatusResult { candidateIndex: number; method: RuleMatchMethod; } export declare function isValidCandidateIndex(index: number, candidates: SemanticRuleCandidate[]): boolean; export interface EvaluateConditionOptions { cwd: string; provider?: ProviderType; resolvedProvider?: ProviderType; resolvedModel?: string; resolvedProviderOptions?: StepProviderOptions; permissionMode?: PermissionMode; projectCwd?: string; childProcessEnv?: RunAgentOptions['childProcessEnv']; mcpServers?: RunAgentOptions['mcpServers']; mcpAssignment?: RunAgentOptions['mcpAssignment']; mcpServerIdentity?: RunAgentOptions['mcpServerIdentity']; abortSignal?: AbortSignal; failureDir?: RunAgentOptions['failureDir']; onStream?: RunAgentOptions['onStream']; onActivity?: RunAgentOptions['onActivity']; onJudgeResponse?: (entry: { instruction: string; status: 'done' | 'error'; response: string; providerUsage?: ProviderUsageSnapshot; }) => void; } export declare function evaluateCondition(agentOutput: string, conditions: Array<{ index: number; text: string; }>, options: EvaluateConditionOptions): Promise; type JudgeConditionEvaluator = (agentOutput: string, conditions: Array<{ index: number; text: string; }>, options: EvaluateConditionOptions) => Promise; export declare function runJudgeFallbackStages(structuredInstruction: string, tagInstruction: string, candidates: SemanticRuleCandidate[], options: JudgeStatusOptions, evaluate: JudgeConditionEvaluator, detectionFailureDetail?: string): Promise; export declare function judgeStatus(structuredInstruction: string, tagInstruction: string, candidates: SemanticRuleCandidate[], options: JudgeStatusOptions): Promise; export {}; //# sourceMappingURL=judge-status-usecase.d.ts.map