{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/internal/egress/authorize":{"post":{"summary":" Authorize","operationId":"_authorize_internal_egress_authorize_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorizeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorizeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/egress/resolve":{"post":{"summary":" Resolve","operationId":"_resolve_internal_egress_resolve_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response  Resolve Internal Egress Resolve Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/egress/meter":{"post":{"summary":" Meter","operationId":"_meter_internal_egress_meter_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeterRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response  Meter Internal Egress Meter Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/egress/tool-bridge":{"post":{"summary":" Tool Bridge","operationId":"_tool_bridge_internal_egress_tool_bridge_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolBridgeControlRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolBridgeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/git-credential":{"post":{"summary":" Git Credential","description":"The daemon holds no key: it presents the run or probe token the proxy stamped on the\nrelay, so it can never obtain another workspace's or another connection's token.","operationId":"_git_credential_internal_git_credential_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitCredentialRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response  Git Credential Internal Git Credential Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/connect/callback":{"get":{"summary":"Connect Callback","description":"Complete the OAuth handoff the provider redirects to: verify the sealed state, exchange the\ncode for the broker-owned account, and land the grant. The grant a turn's `connect_account`\nbegan lands here. State-verified, not bearer-authenticated — the browser carries only the state\nthe connect tool sealed with the speaking member, agent, and conversation.","operationId":"connect_callback_v1_connect_callback_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","default":"","title":"State"}},{"name":"code","in":"query","required":false,"schema":{"type":"string","default":"","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/connect/logo.svg":{"get":{"summary":"Connect Logo","description":"The mark every return leg's page draws, served from core because those pages are reached with\nno session and no frontend build behind them, on this same origin. The web surface's copy is\nfingerprinted by its bundler, so its name changes every build and nothing may link to it.","operationId":"connect_logo_v1_connect_logo_svg_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/artifacts/{artifact_id}/{filename}":{"get":{"summary":"Download","description":"Serve the URL's blob as a streamed download or a bounded validated raster preview. The\nsigned `ws` claim names the workspace whose store holds the bytes; the read binds it, and the\nstream's key resolves inside the binding so the body serves after it releases. A download\nstreams out in bounded chunks — the bytes never buffer whole, so a large or concurrent fetch\ncan't spike memory — under the real media type its filename names, always as an attachment;\nonly a signed preview claim renders inline, after the bytes prove to be the raster type and\nsize it declares. `nosniff` holds the browser to the declared type. Served bytes are briefly\npublicly cacheable: the signed URL is itself the whole grant, so a cache answering a repeat of\nthe exact URL answers only what the signature grants, for a window inside the grant's remaining\nvalidity — refusals and redirects stay `no-store`.","operationId":"download_artifacts__artifact_id___filename__get","parameters":[{"name":"artifact_id","in":"path","required":true,"schema":{"type":"string","title":"Artifact Id"}},{"name":"filename","in":"path","required":true,"schema":{"type":"string","title":"Filename"}},{"name":"exp","in":"query","required":false,"schema":{"type":"string","default":"","title":"Exp"}},{"name":"sig","in":"query","required":false,"schema":{"type":"string","default":"","title":"Sig"}},{"name":"preview","in":"query","required":false,"schema":{"type":"string","default":"","title":"Preview"}},{"name":"ws","in":"query","required":false,"schema":{"type":"string","default":"","title":"Ws"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/site-not-answering":{"post":{"summary":" Report","operationId":"_report_internal_site_not_answering_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AuthorizeRequest":{"properties":{"proxy_auth":{"type":"string","title":"Proxy Auth"}},"type":"object","required":["proxy_auth"],"title":"AuthorizeRequest"},"AuthorizeResponse":{"properties":{"authorized":{"type":"boolean","title":"Authorized"},"generation":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Generation"}},"type":"object","required":["authorized"],"title":"AuthorizeResponse"},"EgressMeterRecord":{"properties":{"kind":{"type":"string","const":"egress","title":"Kind"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"turn_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Turn Id"}},"type":"object","required":["kind","workspace_id"],"title":"EgressMeterRecord"},"GitCredentialRequest":{"properties":{"proxy_auth":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proxy Auth"},"host":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host"}},"type":"object","title":"GitCredentialRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"JsonValue":{},"MeterRequest":{"properties":{"records":{"items":{"oneOf":[{"$ref":"#/components/schemas/EgressMeterRecord"},{"$ref":"#/components/schemas/TokenMeterRecord"},{"$ref":"#/components/schemas/MetricMeterRecord"}],"discriminator":{"propertyName":"kind","mapping":{"egress":"#/components/schemas/EgressMeterRecord","metric":"#/components/schemas/MetricMeterRecord","tokens":"#/components/schemas/TokenMeterRecord"}}},"type":"array","title":"Records"}},"type":"object","required":["records"],"title":"MeterRequest"},"MetricMeterRecord":{"properties":{"kind":{"type":"string","const":"metric","title":"Kind"},"workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"},"host":{"type":"string","title":"Host"},"dimension":{"type":"string","title":"Dimension"}},"type":"object","required":["kind","host","dimension"],"title":"MetricMeterRecord"},"ResolveRequest":{"properties":{"proxy_auth":{"type":"string","title":"Proxy Auth"}},"type":"object","required":["proxy_auth"],"title":"ResolveRequest"},"TokenMeterRecord":{"properties":{"kind":{"type":"string","const":"tokens","title":"Kind"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"turn_id":{"type":"string","format":"uuid","title":"Turn Id"},"model":{"type":"string","title":"Model"},"usage":{"$ref":"#/components/schemas/Usage"}},"type":"object","required":["kind","workspace_id","turn_id","model","usage"],"title":"TokenMeterRecord"},"ToolBridgeControlRequest":{"properties":{"proxy_auth":{"type":"string","title":"Proxy Auth"},"request":{"$ref":"#/components/schemas/ToolBridgeRequest"}},"type":"object","required":["proxy_auth","request"],"title":"ToolBridgeControlRequest"},"ToolBridgeFailure":{"properties":{"ok":{"type":"boolean","const":false,"title":"Ok","default":false},"error":{"type":"string","title":"Error"}},"type":"object","required":["error"],"title":"ToolBridgeFailure"},"ToolBridgeRequest":{"properties":{"request_id":{"type":"string","format":"uuid","title":"Request Id"},"action":{"type":"string","enum":["list","get_schema","execute"],"title":"Action"},"tool_name":{"anyOf":[{"type":"string","maxLength":128,"minLength":1},{"type":"null"}],"title":"Tool Name"},"arguments":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Arguments"}},"type":"object","required":["request_id","action"],"title":"ToolBridgeRequest"},"ToolBridgeResponse":{"anyOf":[{"$ref":"#/components/schemas/ToolBridgeSuccess"},{"$ref":"#/components/schemas/ToolBridgeFailure"}]},"ToolBridgeSuccess":{"properties":{"ok":{"type":"boolean","const":true,"title":"Ok","default":true},"result":{"$ref":"#/components/schemas/JsonValue"}},"type":"object","required":["result"],"title":"ToolBridgeSuccess"},"Usage":{"properties":{"input_tokens":{"type":"integer","title":"Input Tokens","default":0},"output_tokens":{"type":"integer","title":"Output Tokens","default":0},"cache_read_tokens":{"type":"integer","title":"Cache Read Tokens","default":0},"cache_write_5m_tokens":{"type":"integer","title":"Cache Write 5M Tokens","default":0},"cache_write_30m_tokens":{"type":"integer","title":"Cache Write 30M Tokens","default":0},"cache_write_1h_tokens":{"type":"integer","title":"Cache Write 1H Tokens","default":0}},"type":"object","title":"Usage"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}