fix: preserve optional task instruction variables for OpenCode

This commit is contained in:
Xin Wang
2026-10-24 09:23:32 +08:00
parent 7db737d161
commit 7600a297b3
3 changed files with 10 additions and 4 deletions
@@ -82,8 +82,12 @@ class OpenCodeExecutor:
if self.config.get("model_provider_id") and self.config.get("model_id"):
payload["model"] = {"providerID": self.config["model_provider_id"], "modelID": self.config["model_id"]}
backend = self.config.get("_backend") or {}
from models import AssistantConfig
from services.runtime_variables import DynamicVariableStore
store = DynamicVariableStore(self.config.get("_variables") or {})
store = DynamicVariableStore.from_config(AssistantConfig(
dynamic_variables=self.config.get("_variables") or {},
dynamic_variable_definitions=self.config.get("_variable_definitions") or {},
))
assistant_instructions = store.render(str(backend.get("instructions") or ""))
instructions = "\n\n".join(value for value in (self.config.get("instructions"), assistant_instructions) if value)
if instructions: