





















@@ -506,6 +506,7 @@ export function shouldTreatEmptyAssistantReplyAsSilent(params: {
506506export function resolveReasoningOnlyRetryInstruction(params: {
507507provider?: string;
508508modelId?: string;
509+modelApi?: string;
509510executionContract?: string;
510511aborted: boolean;
511512timedOut: boolean;
@@ -519,6 +520,7 @@ export function resolveReasoningOnlyRetryInstruction(params: {
519520!shouldApplyNonVisibleTurnRetryGuard({
520521provider: params.provider,
521522modelId: params.modelId,
523+modelApi: params.modelApi,
522524executionContract: params.executionContract,
523525})
524526) {
@@ -542,6 +544,7 @@ export function resolveReasoningOnlyRetryInstruction(params: {
542544export function resolveEmptyResponseRetryInstruction(params: {
543545provider?: string;
544546modelId?: string;
547+modelApi?: string;
545548executionContract?: string;
546549payloadCount: number;
547550aborted: boolean;
@@ -575,6 +578,7 @@ export function resolveEmptyResponseRetryInstruction(params: {
575578shouldApplyNonVisibleTurnRetryGuard({
576579provider: params.provider,
577580modelId: params.modelId,
581+modelApi: params.modelApi,
578582executionContract: params.executionContract,
579583}) ||
580584// Keep the generic zero-usage stop retry for providers that expose a
@@ -605,11 +609,15 @@ function shouldApplyPlanningOnlyRetryGuard(params: {
605609function shouldApplyNonVisibleTurnRetryGuard(params: {
606610provider?: string;
607611modelId?: string;
612+modelApi?: string;
608613executionContract?: string;
609614}): boolean {
610615if (shouldApplyPlanningOnlyRetryGuard(params)) {
611616return true;
612617}
618+if (params.modelApi === "openai-completions") {
619+return true;
620+}
613621// Non-visible final turns are narrower than planning-only turns: there is no
614622// user text to classify, just a replay-safe empty/thinking-only result. Ollama
615623// gets this continuation guard without getting the planning-only or ack
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。