feat: route code queue egress through provider gateway

This commit is contained in:
Codex
2026-05-15 02:51:49 +00:00
parent c206f13216
commit a7e9ecc32f
10 changed files with 602 additions and 6 deletions
+54 -2
View File
@@ -219,6 +219,49 @@ export interface ProviderHostSshErrorMessage {
at: string;
}
export interface ProviderEgressTcpOpenMessage {
type: "egress_tcp_open";
providerId: string;
connectionId: string;
host: string;
port: number;
at: string;
}
export interface ProviderEgressTcpDataMessage {
type: "egress_tcp_data";
providerId: string;
connectionId: string;
data: string;
encoding: "base64";
at: string;
}
export interface ProviderEgressTcpCloseMessage {
type: "egress_tcp_close";
providerId: string;
connectionId: string;
at: string;
}
export interface CoreEgressTcpOpenedMessage {
type: "egress_tcp_opened";
connectionId: string;
}
export interface CoreEgressTcpDataMessage {
type: "egress_tcp_data";
connectionId: string;
data: string;
encoding: "base64";
}
export interface CoreEgressTcpCloseMessage {
type: "egress_tcp_close";
connectionId: string;
error?: string;
}
export type ProviderToCoreMessage =
| ProviderRegisterMessage
| ProviderHeartbeatMessage
@@ -228,7 +271,10 @@ export type ProviderToCoreMessage =
| ProviderHostSshOpenedMessage
| ProviderHostSshDataMessage
| ProviderHostSshExitMessage
| ProviderHostSshErrorMessage;
| ProviderHostSshErrorMessage
| ProviderEgressTcpOpenMessage
| ProviderEgressTcpDataMessage
| ProviderEgressTcpCloseMessage;
export type CoreToProviderMessage =
| CoreDispatchMessage
@@ -237,6 +283,9 @@ export type CoreToProviderMessage =
| CoreHostSshResizeMessage
| CoreHostSshCloseMessage
| CoreHostSshEofMessage
| CoreEgressTcpOpenedMessage
| CoreEgressTcpDataMessage
| CoreEgressTcpCloseMessage
| CoreAcknowledgeMessage;
export interface ApiNode {
@@ -317,7 +366,10 @@ export function isProviderToCoreMessage(value: unknown): value is ProviderToCore
msg.type === "host_ssh_opened" ||
msg.type === "host_ssh_data" ||
msg.type === "host_ssh_exit" ||
msg.type === "host_ssh_error"
msg.type === "host_ssh_error" ||
msg.type === "egress_tcp_open" ||
msg.type === "egress_tcp_data" ||
msg.type === "egress_tcp_close"
) &&
typeof msg.providerId === "string" &&
msg.providerId.length > 0