Restore interactive server terminal drawer

This commit is contained in:
npc0-hue
2026-08-10 23:43:17 +08:00
parent 1207ba6c5b
commit 0154f42485
7 changed files with 410 additions and 83 deletions
+12
View File
@@ -56,6 +56,7 @@ import type {
LlmConfigSuggestionResponse,
LogStreamCursorRequest,
LogStreamCursorResponse,
LogStreamEventOptions,
LogStreamListResponse,
LoginRequest,
MarketplacePluginFilterRequest,
@@ -637,6 +638,17 @@ export class PlatformApiClient {
return this.request<LogStreamListResponse>("/log-streams");
}
openServerLogEvents(id: string, options: LogStreamEventOptions = {}): EventSource {
return new EventSource(this.serverLogEventsUrl(id, options), { withCredentials: true });
}
serverLogEventsUrl(id: string, options: LogStreamEventOptions = {}): string {
const params = new URLSearchParams();
if (options.historyLimit !== undefined) params.set("historyLimit", String(options.historyLimit));
const query = params.toString();
return `${this.baseUrl}/server-instances/${encodeURIComponent(id)}/logs/events${query ? `?${query}` : ""}`;
}
async queryLogStream(request: LogStreamCursorRequest): Promise<LogStreamCursorResponse> {
return this.request<LogStreamCursorResponse>("/log-streams/query", { method: "POST", body: request });
}