app
Codex
Public Made by Adomby adom
Codex in Adom Hydrogen: ecosystem setup, dock dashboard and live engineering demos.
main
John Lauer
Fix Codex Store agreement flags and recover transient launch observations; test on crr
9fee13e
1mo ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456
{
"bridge": "codex",
"version": "0.1.1",
"verbs": [
{
"name": "codex_describe",
"summary": "Describe every bridge command",
"input": {},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_status",
"summary": "Read desktop installation and connection state",
"input": {},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_readiness",
"summary": "Read prerequisites without installing anything",
"input": {},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_state",
"summary": "Observe app windows and capture each through AB",
"input": {},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_progress",
"summary": "Poll a long-running operation",
"input": {
"jobId": "optional string; omit to list this caller's jobs"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_desktop_install",
"summary": "Install official Microsoft Store package 9PLM9XGG6VKS",
"input": {
"acceptAgreements": "boolean; true only after user accepts both Microsoft Store source and package agreements for the selected target"
},
"timeoutSeconds": 5,
"longRunning": true,
"statusVerb": "codex_progress",
"example": {},
"hint": "Poll codex_progress; inspect result.success and installer.args/exitCode/stdout/stderr. acceptAgreements:true passes BOTH Store source and package acceptance flags only after user consent on this target. If install_verification_failed, check codex_status before retrying: installation may already have completed. Send the AB toast before any expected UAC step."
},
{
"name": "codex_desktop_uninstall",
"summary": "Remove desktop package only; preserve Codex home",
"input": {
"confirm": "boolean, required true; close desktop first"
},
"timeoutSeconds": 5,
"longRunning": true,
"statusVerb": "codex_progress",
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_desktop_open",
"summary": "Launch desktop and verify a window; Windows may foreground it",
"input": {},
"timeoutSeconds": 5,
"longRunning": true,
"statusVerb": "codex_progress",
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_connect",
"summary": "Connect to the desktop daemon or a separate bundled backend",
"input": {
"mode": "standalone (default) | desktop (Unix daemon only)"
},
"timeoutSeconds": 5,
"longRunning": true,
"statusVerb": "codex_progress",
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_disconnect",
"summary": "Disconnect this bridge's backend transport",
"input": {},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_uninstall",
"summary": "AB uninstall cascade; preserve desktop, auth, projects and plugins",
"input": {},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_auth_import",
"summary": "Import a staged auth cache without returning its contents",
"input": {
"path": "absolute host-local auth cache path; refuses existing destination"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_events",
"summary": "Read bounded native event stream",
"input": {
"sinceSeq": "integer cursor; compare oldestSeq to detect missed events"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_requests",
"summary": "Read native approval and user-input requests",
"input": {},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_request_reply",
"summary": "Reply to a pending request with the native response shape",
"input": {
"requestId": "native JSON id",
"result": "native JSON response; user authorization required for approvals"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_account_read",
"summary": "Read account identity",
"input": {
"refreshToken": "boolean, default false"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_login_start",
"summary": "Start native browser/device-code login",
"input": {
"type": "chatgpt | chatgptDeviceCode"
},
"timeoutSeconds": 5,
"longRunning": true,
"statusVerb": "codex_progress",
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_login_cancel",
"summary": "Cancel this login attempt",
"input": {
"loginId": "string"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_models",
"summary": "List native available models",
"input": {
"cursor": "optional string",
"limit": "optional integer"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_thread_list",
"summary": "List native threads",
"input": {
"cursor": "optional string",
"limit": "optional integer",
"sourceKinds": "optional array"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_thread_read",
"summary": "Read native thread state",
"input": {
"threadId": "string, required",
"includeTurns": "boolean"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_thread_start",
"summary": "Create a conversation",
"input": {
"cwd": "absolute host directory",
"model": "optional model",
"approvalPolicy": "on-request recommended",
"sandbox": "read-only | workspace-write"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_thread_resume",
"summary": "Subscribe to an existing conversation",
"input": {
"threadId": "string, required"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_thread_fork",
"summary": "Fork an existing conversation",
"input": {
"threadId": "string, required"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_thread_archive",
"summary": "Archive an existing conversation",
"input": {
"threadId": "string, required"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_turn_start",
"summary": "Submit a prompt",
"input": {
"threadId": "string, required",
"input": "array, e.g. [{\"type\":\"text\",\"text\":\"...\"}]"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_turn_steer",
"summary": "Steer an active turn",
"input": {
"threadId": "string",
"expectedTurnId": "string",
"input": "native input array"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_turn_interrupt",
"summary": "Interrupt an active turn",
"input": {
"threadId": "string",
"turnId": "string"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_plugin_list",
"summary": "List plugin marketplaces and available plugins",
"input": {
"forceRefetch": "optional boolean",
"cwds": "optional absolute directory array",
"query": "optional case-insensitive search",
"cursor": "optional offset from nextCursor",
"limit": "optional integer, default 30, maximum 100"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_plugin_read",
"summary": "Inspect a plugin",
"input": {
"pluginName": "string",
"marketplacePath": "absolute local marketplace path, or use remoteMarketplaceName",
"remoteMarketplaceName": "remote catalog marketplace name"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_plugin_install",
"summary": "Install a named plugin through native Codex",
"input": {
"pluginName": "string",
"remoteMarketplaceName": "string, or marketplacePath",
"marketplacePath": "absolute local marketplace path"
},
"timeoutSeconds": 5,
"longRunning": true,
"statusVerb": "codex_progress",
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_plugin_uninstall",
"summary": "Remove a named native plugin",
"input": {
"pluginId": "string"
},
"timeoutSeconds": 5,
"longRunning": true,
"statusVerb": "codex_progress",
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_skills_list",
"summary": "List native skills",
"input": {
"cwds": "optional absolute directory array"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_mcp_status",
"summary": "Read native MCP server connection status",
"input": {
"cursor": "optional string",
"limit": "optional integer"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_config_read",
"summary": "Read effective native config",
"input": {
"includeLayers": "optional boolean"
},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null,
"example": {},
"hint": "Native arguments are forwarded as structured JSON. Poll events and pending requests for progress."
},
{
"name": "codex_desktop_tools",
"summary": "Discover the running desktop app's native tools and JSON schemas",
"input": {"desktopPipe": "optional verified endpoint name; required when discovery is ambiguous"},
"timeoutSeconds": 150,
"longRunning": false,
"statusVerb": null
},
{
"name": "codex_desktop_tool_call",
"summary": "Invoke a discovered desktop tool through its verified named pipe",
"input": {
"tool": "native name from codex_desktop_tools",
"threadId": "native Codex thread ID",
"arguments": "native JSON object",
"turnId": "optional native turn ID"
,"desktopPipe": "optional verified endpoint name; required when discovery is ambiguous"
},
"timeoutSeconds": 10,
"longRunning": true,
"statusVerb": "codex_progress"
},
{"name":"codex_thread_unsubscribe","summary":"Release a backend thread subscription","input":{"threadId":"string, required"},"timeoutSeconds":150,"longRunning":false,"statusVerb":null},
{"name":"codex_thread_turns","summary":"Read paginated persisted turns","input":{"threadId":"string, required","cursor":"optional string","limit":"optional integer","itemsView":"notLoaded | summary | full"},"timeoutSeconds":150,"longRunning":false,"statusVerb":null},
{"name":"codex_thread_items","summary":"Read paginated persisted thread items","input":{"threadId":"string, required","turnId":"optional string","cursor":"optional string","limit":"optional integer"},"timeoutSeconds":150,"longRunning":false,"statusVerb":null}
]
}