feat(opencode): v1.18 — перейти с POST /session/:id/prompt на /session/:id/message
Промпт отправляется в /api/session/:id/message (v1.18) с новым форматом
тела parts:[{type:"text"}], вместо {prompt:{text}}. Причина перехода:
/prompt сам подставляет не ту модель, что в конфиге; /message использует
модель из конфига.
- client.go: Send → POST /message + тело parts; шапка-док v1.18
- тесты: fakeAPIServer + e2eFakeAPI отвечают на POST /message (GET уже был)
This commit is contained in:
@@ -44,7 +44,7 @@ var (
|
||||
}
|
||||
)
|
||||
|
||||
// e2eFakeAPI поднимает фейковый opencode serve HTTP API v1.17 и возвращает URL.
|
||||
// e2eFakeAPI поднимает фейковый opencode serve HTTP API v1.18 и возвращает URL.
|
||||
// По title сессии (ratatoskr-<agent>) определяет агента и возвращает его вердикт
|
||||
// как text-часть единственного assistant-сообщения.
|
||||
func e2eFakeAPI(t *testing.T) string {
|
||||
@@ -66,7 +66,7 @@ func e2eFakeAPI(t *testing.T) string {
|
||||
mu.Unlock()
|
||||
writeJSON(w, map[string]any{"data": map[string]any{"id": id}})
|
||||
|
||||
case r.Method == http.MethodPost && strings.HasSuffix(r.URL.Path, "/prompt"):
|
||||
case r.Method == http.MethodPost && strings.HasSuffix(r.URL.Path, "/message"):
|
||||
w.WriteHeader(http.StatusOK)
|
||||
_, _ = w.Write([]byte(`{"ok":true}`))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user