Wire Atlas browser bridge into app-server

Add the AgentLib js_repl bridge, persist browser replay items in thread history, and surface remote browser artifacts through turn/start.

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
Liang-Ting Jiang
2026-03-24 21:12:20 +00:00
parent ba0d3b467b
commit ee865bcddc
41 changed files with 5135 additions and 48 deletions

View File

@@ -4,6 +4,119 @@
"AgentPath": {
"type": "string"
},
"BrowserReplayFrame": {
"properties": {
"browserState": {
"anyOf": [
{
"$ref": "#/definitions/BrowserSessionState"
},
{
"type": "null"
}
]
},
"imageUrl": {
"type": [
"string",
"null"
]
},
"sequenceNumber": {
"format": "uint32",
"minimum": 0.0,
"type": "integer"
},
"sourceItemId": {
"type": "string"
},
"status": {
"$ref": "#/definitions/DynamicToolCallStatus"
},
"textSnapshot": {
"type": [
"string",
"null"
]
},
"textSnapshotFormat": {
"anyOf": [
{
"$ref": "#/definitions/BrowserReplayTextSnapshotFormat"
},
{
"type": "null"
}
]
},
"tool": {
"type": "string"
}
},
"required": [
"sequenceNumber",
"sourceItemId",
"status",
"tool"
],
"type": "object"
},
"BrowserReplayRenderMode": {
"enum": [
"animation",
"frames",
"textOnly"
],
"type": "string"
},
"BrowserReplayTextSnapshotFormat": {
"enum": [
"plain",
"json"
],
"type": "string"
},
"BrowserSessionState": {
"properties": {
"selectedTabId": {
"type": "string"
},
"tabs": {
"items": {
"$ref": "#/definitions/BrowserTabState"
},
"type": "array"
}
},
"required": [
"selectedTabId",
"tabs"
],
"type": "object"
},
"BrowserTabState": {
"properties": {
"id": {
"type": "string"
},
"selected": {
"type": "boolean"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"id",
"selected",
"title",
"url"
],
"type": "object"
},
"ByteRange": {
"properties": {
"end": {
@@ -1277,6 +1390,51 @@
"title": "DynamicToolCallThreadItem",
"type": "object"
},
{
"properties": {
"animationImageUrl": {
"type": [
"string",
"null"
]
},
"frameDurationMs": {
"format": "uint32",
"minimum": 0.0,
"type": [
"integer",
"null"
]
},
"frames": {
"items": {
"$ref": "#/definitions/BrowserReplayFrame"
},
"type": "array"
},
"id": {
"type": "string"
},
"renderMode": {
"$ref": "#/definitions/BrowserReplayRenderMode"
},
"type": {
"enum": [
"browserReplay"
],
"title": "BrowserReplayThreadItemType",
"type": "string"
}
},
"required": [
"frames",
"id",
"renderMode",
"type"
],
"title": "BrowserReplayThreadItem",
"type": "object"
},
{
"properties": {
"agentsStates": {