feat: add provider websocket http data plane

This commit is contained in:
Codex
2026-05-16 16:03:53 +00:00
parent 659d1c6148
commit 28cc2af121
19 changed files with 545 additions and 22 deletions
+20 -2
View File
@@ -244,6 +244,21 @@ export interface ProviderEgressTcpCloseMessage {
at: string;
}
export interface CoreHttpTunnelRequestMessage {
type: "http_tunnel_request";
requestId: string;
payload: Record<string, JsonValue>;
}
export interface ProviderHttpTunnelResponseMessage {
type: "http_tunnel_response";
providerId: string;
requestId: string;
ok: boolean;
result: JsonValue;
at: string;
}
export interface CoreEgressTcpOpenedMessage {
type: "egress_tcp_opened";
connectionId: string;
@@ -274,10 +289,12 @@ export type ProviderToCoreMessage =
| ProviderHostSshErrorMessage
| ProviderEgressTcpOpenMessage
| ProviderEgressTcpDataMessage
| ProviderEgressTcpCloseMessage;
| ProviderEgressTcpCloseMessage
| ProviderHttpTunnelResponseMessage;
export type CoreToProviderMessage =
| CoreDispatchMessage
| CoreHttpTunnelRequestMessage
| CoreHostSshOpenMessage
| CoreHostSshInputMessage
| CoreHostSshResizeMessage
@@ -369,7 +386,8 @@ export function isProviderToCoreMessage(value: unknown): value is ProviderToCore
msg.type === "host_ssh_error" ||
msg.type === "egress_tcp_open" ||
msg.type === "egress_tcp_data" ||
msg.type === "egress_tcp_close"
msg.type === "egress_tcp_close" ||
msg.type === "http_tunnel_response"
) &&
typeof msg.providerId === "string" &&
msg.providerId.length > 0