F2: delegate prompt tasks to native Reasoner or OpenCode backends
This commit is contained in:
@@ -32,7 +32,11 @@ class OpenCodeTaskTest(unittest.IsolatedAsyncioTestCase):
|
||||
return httpx.Response(200, text="".join("data: " + json.dumps(e) + "\n\n" for e in events))
|
||||
if request.url.path.endswith("prompt_async"):
|
||||
self.assertFalse(submitted)
|
||||
self.assertEqual(json.loads(request.content)["messageID"], "msg_test")
|
||||
payload = json.loads(request.content)
|
||||
self.assertEqual(payload["messageID"], "msg_test")
|
||||
self.assertEqual(payload["agent"], "build")
|
||||
self.assertEqual(payload["model"], {"providerID": "test-provider", "modelID": "test-model"})
|
||||
self.assertEqual(payload["system"], "通用说明\n\n项目 demo")
|
||||
submitted = True
|
||||
return httpx.Response(204)
|
||||
if request.url.path.endswith("/message"):
|
||||
@@ -42,7 +46,10 @@ class OpenCodeTaskTest(unittest.IsolatedAsyncioTestCase):
|
||||
if request.url.path == "/session/status":
|
||||
return httpx.Response(200, json={})
|
||||
raise AssertionError(request.url)
|
||||
executor = OpenCodeExecutor({"url": "https://remote.test", "directory": "/workspace/demo"}, {}, transport=httpx.MockTransport(respond))
|
||||
executor = OpenCodeExecutor({"url": "https://remote.test", "directory": "/workspace/demo", "agent": "build",
|
||||
"model_provider_id": "test-provider", "model_id": "test-model",
|
||||
"instructions": "通用说明", "_backend": {"instructions": "项目 {{project}}"},
|
||||
"_variables": {"project": "demo"}}, {}, transport=httpx.MockTransport(respond))
|
||||
async def emit(event):
|
||||
updates.append(event)
|
||||
result = await executor.run(handle, "修复测试", emit)
|
||||
|
||||
Reference in New Issue
Block a user