Add app-server environment registry for exec-server routing

Expose app-server environment register/list RPCs, persist environment selection through thread lifecycle flows, and cover the new routing behavior with app-server tests.

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
starr-openai
2026-04-14 12:54:55 -07:00
parent f3cbe3d385
commit a2e6e19c1e
71 changed files with 1591 additions and 13 deletions

View File

@@ -1281,6 +1281,54 @@
"title": "App/listRequest",
"type": "object"
},
{
"properties": {
"id": {
"$ref": "#/definitions/RequestId"
},
"method": {
"enum": [
"environment/list"
],
"title": "Environment/listRequestMethod",
"type": "string"
},
"params": {
"$ref": "#/definitions/EnvironmentListParams"
}
},
"required": [
"id",
"method",
"params"
],
"title": "Environment/listRequest",
"type": "object"
},
{
"properties": {
"id": {
"$ref": "#/definitions/RequestId"
},
"method": {
"enum": [
"environment/register"
],
"title": "Environment/registerRequestMethod",
"type": "string"
},
"params": {
"$ref": "#/definitions/EnvironmentRegisterParams"
}
},
"required": [
"id",
"method",
"params"
],
"title": "Environment/registerRequest",
"type": "object"
},
{
"properties": {
"id": {
@@ -3836,6 +3884,76 @@
],
"type": "object"
},
"EnvironmentInfo": {
"properties": {
"execServerUrl": {
"type": [
"string",
"null"
]
},
"id": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"EnvironmentListParams": {
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "EnvironmentListParams",
"type": "object"
},
"EnvironmentListResponse": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"data": {
"items": {
"$ref": "#/definitions/EnvironmentInfo"
},
"type": "array"
}
},
"required": [
"data"
],
"title": "EnvironmentListResponse",
"type": "object"
},
"EnvironmentRegisterParams": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"environmentId": {
"type": "string"
},
"execServerUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"environmentId"
],
"title": "EnvironmentRegisterParams",
"type": "object"
},
"EnvironmentRegisterResponse": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"environment": {
"$ref": "#/definitions/EnvironmentInfo"
}
},
"required": [
"environment"
],
"title": "EnvironmentRegisterResponse",
"type": "object"
},
"ErrorNotification": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
@@ -10614,6 +10732,13 @@
"null"
]
},
"environmentId": {
"description": "Override the execution environment used by the forked thread.",
"type": [
"string",
"null"
]
},
"ephemeral": {
"type": "boolean"
},
@@ -10684,6 +10809,12 @@
"cwd": {
"type": "string"
},
"environmentId": {
"type": [
"string",
"null"
]
},
"instructionSources": {
"default": [],
"description": "Instruction source files currently loaded for this thread.",
@@ -11935,6 +12066,13 @@
"null"
]
},
"environmentId": {
"description": "Override the execution environment used when resuming this thread.",
"type": [
"string",
"null"
]
},
"model": {
"description": "Configuration overrides for the resumed thread, if any.",
"type": [
@@ -12012,6 +12150,12 @@
"cwd": {
"type": "string"
},
"environmentId": {
"type": [
"string",
"null"
]
},
"instructionSources": {
"default": [],
"description": "Instruction source files currently loaded for this thread.",
@@ -12219,6 +12363,13 @@
"null"
]
},
"environmentId": {
"description": "Select a registered app-server execution environment for this thread.",
"type": [
"string",
"null"
]
},
"ephemeral": {
"type": [
"boolean",
@@ -12311,6 +12462,12 @@
"cwd": {
"type": "string"
},
"environmentId": {
"type": [
"string",
"null"
]
},
"instructionSources": {
"default": [],
"description": "Instruction source files currently loaded for this thread.",