feat(opencode): в лог при создании сессии — ссылка на сообщения (order=asc)
This commit is contained in:
@@ -30,6 +30,13 @@ type Client struct {
|
||||
http *http.Client // единый клиент: все операции быстрые (нет блокирующего Send)
|
||||
}
|
||||
|
||||
// SessionMessagesURL возвращает URL для просмотра сообщений сессии в браузере.
|
||||
// Сортировка по времени: сначала ранние (order=asc). Без credentials — пароль
|
||||
// в лог не попадает.
|
||||
func SessionMessagesURL(baseURL, sessionID string) string {
|
||||
return baseURL + "/api/session/" + sessionID + "/message?order=asc"
|
||||
}
|
||||
|
||||
// ClientErr — классы ошибок клиента.
|
||||
type ClientErr struct {
|
||||
Op string // "connect" | "create" | "prompt" | "messages" | "active" | "abort"
|
||||
|
||||
@@ -354,4 +354,13 @@ func TestClientErr_Unwrap(t *testing.T) {
|
||||
if !errors.As(ce, &target) {
|
||||
t.Fatal("expected *ClientErr")
|
||||
}
|
||||
}
|
||||
|
||||
// TestSessionMessagesURL — ссылка на сообщения сессии, сортировка по времени (сначала ранние).
|
||||
func TestSessionMessagesURL(t *testing.T) {
|
||||
got := SessionMessagesURL("http://127.0.0.1:4101", "sess-abc")
|
||||
want := "http://127.0.0.1:4101/api/session/sess-abc/message?order=asc"
|
||||
if got != want {
|
||||
t.Errorf("SessionMessagesURL() = %q, want %q", got, want)
|
||||
}
|
||||
}
|
||||
@@ -84,6 +84,7 @@ func (r *Runner) Run(ctx context.Context, prompt, cwd, agent, sessionID string)
|
||||
return nil, fmt.Errorf("opencode: create session: %w", err)
|
||||
}
|
||||
r.logf("opencode(%s) session=%s на %s", agent, sid, srv.Addr())
|
||||
r.logf("opencode(%s) сообщения сессии: %s", agent, SessionMessagesURL(srv.Addr(), sid))
|
||||
}
|
||||
|
||||
return r.awaitVerdict(ctx, c, sid, agent, prompt)
|
||||
|
||||
Reference in New Issue
Block a user