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