refactor: move provider replay runtime ownership into plugins (#60126)

* refactor: move provider replay runtime ownership into plugins

* fix(provider-runtime): address review followups

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
This commit is contained in:
Josh Lehman
2026-04-03 07:14:37 -07:00
committed by GitHub
parent f328e7f4a6
commit 799c6f40aa
63 changed files with 2865 additions and 1802 deletions

View File

@@ -4,6 +4,23 @@ import { applyOpencodeGoConfig, OPENCODE_GO_DEFAULT_MODEL_REF } from "./api.js";
const PROVIDER_ID = "opencode-go";
function buildOpencodeGoReplayPolicy(modelId?: string) {
const normalizedModelId = modelId?.toLowerCase() ?? "";
return {
applyAssistantFirstOrderingFix: false,
validateGeminiTurns: false,
validateAnthropicTurns: false,
...(normalizedModelId.includes("gemini")
? {
sanitizeThoughtSignatures: {
allowBase64Only: true,
includeCamelCase: true,
},
}
: {}),
};
}
export default definePluginEntry({
id: PROVIDER_ID,
name: "OpenCode Go Provider",
@@ -43,11 +60,7 @@ export default definePluginEntry({
},
}),
],
capabilities: {
openAiCompatTurnValidation: false,
geminiThoughtSignatureSanitization: true,
geminiThoughtSignatureModelHints: ["gemini"],
},
buildReplayPolicy: ({ modelId }) => buildOpencodeGoReplayPolicy(modelId),
isModernModelRef: () => true,
});
},