mirror of
https://github.com/openai/codex.git
synced 2026-05-05 22:01:37 +03:00
feat: retain NetworkProxy, when appropriate (#11207)
As of this PR, `SessionServices` retains a `Option<StartedNetworkProxy>`, if appropriate. Now the `network` field on `Config` is `Option<NetworkProxySpec>` instead of `Option<NetworkProxy>`. Over in `Session::new()`, we invoke `NetworkProxySpec::start_proxy()` to create the `StartedNetworkProxy`, which is a new struct that retains the `NetworkProxy` as well as the `NetworkProxyHandle`. (Note that `Drop` is implemented for `NetworkProxyHandle` to ensure the proxies are shutdown when it is dropped.) The `NetworkProxy` from the `StartedNetworkProxy` is threaded through to the appropriate places. --- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/openai/codex/pull/11207). * #11285 * __->__ #11207
This commit is contained in:
@@ -887,6 +887,17 @@
|
||||
"model_provider_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"network_proxy": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/SessionNetworkProxyRuntime"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"description": "Runtime proxy bind addresses, when the managed proxy was started for this session."
|
||||
},
|
||||
"reasoning_effort": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -4427,6 +4438,25 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"SessionNetworkProxyRuntime": {
|
||||
"properties": {
|
||||
"admin_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"http_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"socks_addr": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"admin_addr",
|
||||
"http_addr",
|
||||
"socks_addr"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"SkillDependencies": {
|
||||
"properties": {
|
||||
"tools": {
|
||||
@@ -5600,6 +5630,17 @@
|
||||
"model_provider_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"network_proxy": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/SessionNetworkProxyRuntime"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"description": "Runtime proxy bind addresses, when the managed proxy was started for this session."
|
||||
},
|
||||
"reasoning_effort": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -7580,4 +7621,4 @@
|
||||
}
|
||||
],
|
||||
"title": "EventMsg"
|
||||
}
|
||||
}
|
||||
@@ -1531,6 +1531,17 @@
|
||||
"model_provider_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"network_proxy": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/SessionNetworkProxyRuntime"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"description": "Runtime proxy bind addresses, when the managed proxy was started for this session."
|
||||
},
|
||||
"reasoning_effort": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -5583,6 +5594,25 @@
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"SessionNetworkProxyRuntime": {
|
||||
"properties": {
|
||||
"admin_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"http_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"socks_addr": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"admin_addr",
|
||||
"http_addr",
|
||||
"socks_addr"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"SessionSource": {
|
||||
"oneOf": [
|
||||
{
|
||||
@@ -8197,4 +8227,4 @@
|
||||
}
|
||||
],
|
||||
"title": "ServerNotification"
|
||||
}
|
||||
}
|
||||
@@ -2900,6 +2900,17 @@
|
||||
"model_provider_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"network_proxy": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/SessionNetworkProxyRuntime"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"description": "Runtime proxy bind addresses, when the managed proxy was started for this session."
|
||||
},
|
||||
"reasoning_effort": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -8678,6 +8689,25 @@
|
||||
"title": "SessionConfiguredNotification",
|
||||
"type": "object"
|
||||
},
|
||||
"SessionNetworkProxyRuntime": {
|
||||
"properties": {
|
||||
"admin_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"http_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"socks_addr": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"admin_addr",
|
||||
"http_addr",
|
||||
"socks_addr"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"SessionSource": {
|
||||
"oneOf": [
|
||||
{
|
||||
@@ -16361,4 +16391,4 @@
|
||||
},
|
||||
"title": "CodexAppServerProtocol",
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -887,6 +887,17 @@
|
||||
"model_provider_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"network_proxy": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/SessionNetworkProxyRuntime"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"description": "Runtime proxy bind addresses, when the managed proxy was started for this session."
|
||||
},
|
||||
"reasoning_effort": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -4427,6 +4438,25 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"SessionNetworkProxyRuntime": {
|
||||
"properties": {
|
||||
"admin_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"http_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"socks_addr": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"admin_addr",
|
||||
"http_addr",
|
||||
"socks_addr"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"SkillDependencies": {
|
||||
"properties": {
|
||||
"tools": {
|
||||
@@ -5186,4 +5216,4 @@
|
||||
],
|
||||
"title": "ForkConversationResponse",
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -887,6 +887,17 @@
|
||||
"model_provider_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"network_proxy": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/SessionNetworkProxyRuntime"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"description": "Runtime proxy bind addresses, when the managed proxy was started for this session."
|
||||
},
|
||||
"reasoning_effort": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -4427,6 +4438,25 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"SessionNetworkProxyRuntime": {
|
||||
"properties": {
|
||||
"admin_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"http_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"socks_addr": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"admin_addr",
|
||||
"http_addr",
|
||||
"socks_addr"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"SkillDependencies": {
|
||||
"properties": {
|
||||
"tools": {
|
||||
@@ -5186,4 +5216,4 @@
|
||||
],
|
||||
"title": "ResumeConversationResponse",
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -887,6 +887,17 @@
|
||||
"model_provider_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"network_proxy": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/definitions/SessionNetworkProxyRuntime"
|
||||
},
|
||||
{
|
||||
"type": "null"
|
||||
}
|
||||
],
|
||||
"description": "Runtime proxy bind addresses, when the managed proxy was started for this session."
|
||||
},
|
||||
"reasoning_effort": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -4427,6 +4438,25 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"SessionNetworkProxyRuntime": {
|
||||
"properties": {
|
||||
"admin_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"http_addr": {
|
||||
"type": "string"
|
||||
},
|
||||
"socks_addr": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"admin_addr",
|
||||
"http_addr",
|
||||
"socks_addr"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"SkillDependencies": {
|
||||
"properties": {
|
||||
"tools": {
|
||||
@@ -5208,4 +5238,4 @@
|
||||
],
|
||||
"title": "SessionConfiguredNotification",
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import type { AskForApproval } from "./AskForApproval";
|
||||
import type { EventMsg } from "./EventMsg";
|
||||
import type { ReasoningEffort } from "./ReasoningEffort";
|
||||
import type { SandboxPolicy } from "./SandboxPolicy";
|
||||
import type { SessionNetworkProxyRuntime } from "./SessionNetworkProxyRuntime";
|
||||
import type { ThreadId } from "./ThreadId";
|
||||
|
||||
export type SessionConfiguredEvent = { session_id: ThreadId, forked_from_id: ThreadId | null,
|
||||
@@ -46,6 +47,10 @@ history_entry_count: number,
|
||||
* When present, UIs can use these to seed the history.
|
||||
*/
|
||||
initial_messages: Array<EventMsg> | null,
|
||||
/**
|
||||
* Runtime proxy bind addresses, when the managed proxy was started for this session.
|
||||
*/
|
||||
network_proxy?: SessionNetworkProxyRuntime,
|
||||
/**
|
||||
* Path in which the rollout is stored. Can be `None` for ephemeral threads
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
// GENERATED CODE! DO NOT MODIFY BY HAND!
|
||||
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
export type SessionNetworkProxyRuntime = { http_addr: string, socks_addr: string, admin_addr: string, };
|
||||
@@ -175,6 +175,7 @@ export type { ServerNotification } from "./ServerNotification";
|
||||
export type { ServerRequest } from "./ServerRequest";
|
||||
export type { SessionConfiguredEvent } from "./SessionConfiguredEvent";
|
||||
export type { SessionConfiguredNotification } from "./SessionConfiguredNotification";
|
||||
export type { SessionNetworkProxyRuntime } from "./SessionNetworkProxyRuntime";
|
||||
export type { SessionSource } from "./SessionSource";
|
||||
export type { SetDefaultModelParams } from "./SetDefaultModelParams";
|
||||
export type { SetDefaultModelResponse } from "./SetDefaultModelResponse";
|
||||
|
||||
Reference in New Issue
Block a user