mirror of
https://github.com/anomalyco/opencode.git
synced 2026-07-10 04:58:28 +00:00
23730 lines
622 KiB
JSON
23730 lines
622 KiB
JSON
{
|
|
"openapi": "3.1.0",
|
|
"info": {
|
|
"title": "opencode HttpApi",
|
|
"version": "0.0.1",
|
|
"description": "Experimental HttpApi surface for selected instance routes."
|
|
},
|
|
"paths": {
|
|
"/api/health": {
|
|
"get": {
|
|
"tags": ["server.health"],
|
|
"operationId": "v2.health.get",
|
|
"parameters": [],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"healthy": {
|
|
"type": "boolean",
|
|
"enum": [true]
|
|
}
|
|
},
|
|
"required": ["healthy"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Check whether the API server is ready to accept requests.",
|
|
"summary": "Check server health"
|
|
}
|
|
},
|
|
"/api/location": {
|
|
"get": {
|
|
"tags": ["server.location"],
|
|
"operationId": "v2.location.get",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Location.Info",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Resolve the requested location or the server default location.",
|
|
"summary": "Get location"
|
|
}
|
|
},
|
|
"/api/agent": {
|
|
"get": {
|
|
"tags": ["server.agent"],
|
|
"operationId": "v2.agent.list",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/AgentV2.Info"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve currently registered agents.",
|
|
"summary": "List agents"
|
|
}
|
|
},
|
|
"/api/plugin": {
|
|
"get": {
|
|
"tags": ["plugins"],
|
|
"operationId": "v2.plugin.list",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Plugin.Info"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve currently loaded plugins.",
|
|
"summary": "List plugins"
|
|
}
|
|
},
|
|
"/api/session": {
|
|
"get": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.list",
|
|
"parameters": [
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^wrk"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "limit",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Maximum number of sessions to return. Defaults to the newest 50 sessions."
|
|
},
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "order",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": ["asc", "desc"]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Session order for the first page. Use desc for newest first or asc for oldest first."
|
|
},
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "search",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "parentID",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["null"]
|
|
}
|
|
],
|
|
"description": "Filter by parent session. Use null to return only root sessions."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "project",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "subpath",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "cursor",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"description": "Opaque pagination cursor returned as cursor.previous or cursor.next in the previous response."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "SessionsResponse",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionsResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidCursorError | InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/InvalidCursorError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError1"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve sessions in the requested order. Items keep that order across pages; use cursor.next or cursor.previous to move through the ordered list.",
|
|
"summary": "List sessions"
|
|
},
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.create",
|
|
"parameters": [],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/SessionV2.Info"
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Create a session at the requested location.",
|
|
"summary": "Create session",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"agent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"model": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Model.Ref"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/session/active": {
|
|
"get": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.active",
|
|
"parameters": [],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^ses": {
|
|
"$ref": "#/components/schemas/SessionActive"
|
|
}
|
|
}
|
|
},
|
|
"watermarks": {
|
|
"$ref": "#/components/schemas/SessionWatermarks"
|
|
}
|
|
},
|
|
"required": ["data", "watermarks"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve foreground Session drains currently owned by this OpenCode process. Sessions absent from the result are inactive. Watermarks are the durable log positions read alongside the activity snapshot; activity itself is process state, so the pairing is advisory rather than transactional.",
|
|
"summary": "List active sessions"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}": {
|
|
"get": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.get",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/SessionV2.Info"
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve a session by ID.",
|
|
"summary": "Get session"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/fork": {
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.fork",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/SessionV2.Info"
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError | MessageNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/MessageNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Create a child session by copying projected history from the parent. When messageID is supplied, copy messages before that boundary.",
|
|
"summary": "Fork session",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"messageID": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/agent": {
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.switchAgent",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Switch the agent used by subsequent provider turns.",
|
|
"summary": "Switch session agent",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"agent": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["agent"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/model": {
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.switchModel",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Switch the model used by subsequent provider turns.",
|
|
"summary": "Switch session model",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"model": {
|
|
"$ref": "#/components/schemas/Model.Ref"
|
|
}
|
|
},
|
|
"required": ["model"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/rename": {
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.rename",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Update the session title.",
|
|
"summary": "Rename session",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["title"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/prompt": {
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.prompt",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/SessionInput.Admitted"
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "ConflictError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ConflictError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Durably admit one session input and schedule agent-loop execution unless resume is false.",
|
|
"summary": "Send message",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"prompt": {
|
|
"$ref": "#/components/schemas/PromptInput"
|
|
},
|
|
"delivery": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": ["steer", "queue"]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resume": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["prompt"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/command": {
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.command",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/SessionInput.Admitted"
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError | CommandNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/CommandNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "ConflictError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ConflictError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "CommandEvaluationError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CommandEvaluationError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Resolve a slash command into prompt input, admit it durably, and schedule execution unless resume is false.",
|
|
"summary": "Run command",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"command": {
|
|
"type": "string"
|
|
},
|
|
"arguments": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"agent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"model": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Model.Ref"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/PromptInput.FileAttachment"
|
|
}
|
|
},
|
|
"agents": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Prompt.AgentAttachment"
|
|
}
|
|
},
|
|
"delivery": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": ["steer", "queue"]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"resume": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["command"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/skill": {
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.skill",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError | SkillNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SkillNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Activate a skill for a session by appending a skill message and resuming execution.",
|
|
"summary": "Activate skill",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"skill": {
|
|
"type": "string"
|
|
},
|
|
"resume": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["skill"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/synthetic": {
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.synthetic",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Append a synthetic message to a session and resume execution.",
|
|
"summary": "Add synthetic message",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": ["text"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/compact": {
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.compact",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "SessionBusyError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionBusyError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "UnknownError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnknownError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"503": {
|
|
"description": "ServiceUnavailableError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServiceUnavailableError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Compact a session conversation.",
|
|
"summary": "Compact session"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/wait": {
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.wait",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"503": {
|
|
"description": "ServiceUnavailableError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServiceUnavailableError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Wait for a session agent loop to become idle.",
|
|
"summary": "Wait for session"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/revert/stage": {
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.revert.stage",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Revert.State"
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "MessageNotFoundError | SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/MessageNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "SessionBusyError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionBusyError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "UnknownError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnknownError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Stage or move a reversible session boundary and optionally apply its file changes.",
|
|
"summary": "Stage session revert",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"files": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["messageID"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/revert/clear": {
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.revert.clear",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "SessionBusyError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionBusyError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "UnknownError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnknownError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"summary": "Clear staged revert"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/revert/commit": {
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.revert.commit",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "SessionBusyError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionBusyError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"summary": "Commit staged revert"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/context": {
|
|
"get": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.context",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Session.Message"
|
|
}
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "UnknownError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnknownError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve the active context messages for a session (all messages after the last compaction).",
|
|
"summary": "Get session context"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/context-entry": {
|
|
"get": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.context.entry.list",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SessionContextEntry.Info"
|
|
}
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "List API-managed context entries attached to the session's system context.",
|
|
"summary": "List context entries"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/context-entry/{key}": {
|
|
"put": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.context.entry.put",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "key",
|
|
"in": "path",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionContextEntry.Key"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Attach or replace one durable context entry. The value is rendered into the session's system context; changes announce as updates at the next turn boundary.",
|
|
"summary": "Put context entry",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {}
|
|
},
|
|
"required": ["value"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
},
|
|
"delete": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.context.entry.remove",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "key",
|
|
"in": "path",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionContextEntry.Key"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Remove one context entry; the removal is announced to the model at the next turn boundary.",
|
|
"summary": "Remove context entry"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/log": {
|
|
"get": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.log",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "after",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "follow",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": ["true", "false"]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"text/event-stream": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"event": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"$ref": "#/components/schemas/SessionLogItemStream"
|
|
}
|
|
},
|
|
"required": ["id", "event", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"x-effect-stream": {
|
|
"encoding": "sse",
|
|
"causeSchema": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["Fail"]
|
|
},
|
|
"error": {
|
|
"not": {}
|
|
}
|
|
},
|
|
"required": ["_tag", "error"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["Die"]
|
|
},
|
|
"defect": {}
|
|
},
|
|
"required": ["_tag", "defect"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["Interrupt"]
|
|
},
|
|
"fiberId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["_tag", "fiberId"],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"errorSchema": {
|
|
"not": {}
|
|
},
|
|
"failureEvent": "effect/httpapi/stream/failure"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Durable, ordered, gap-free read of public session events after an exclusive aggregate sequence. Emits a synced marker once replay reaches the captured watermark, then completes; with follow=true it continues with live events instead. The only event API that promises reliability: attach after a snapshot watermark to compose fetch and stream without a race window.",
|
|
"summary": "Read the session log"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/interrupt": {
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.interrupt",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Interrupt active execution owned by this OpenCode process. Idle interruption is a no-op.",
|
|
"summary": "Interrupt session execution"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/background": {
|
|
"post": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.background",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Move active foreground backgroundable tools for this session into background observation. Idle requests are a no-op.",
|
|
"summary": "Background blocking session tools"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/message/{messageID}": {
|
|
"get": {
|
|
"tags": ["sessions"],
|
|
"operationId": "v2.session.message",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "messageID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Session.Message"
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError | MessageNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/MessageNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve one projected message owned by the Session.",
|
|
"summary": "Get session message"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/message": {
|
|
"get": {
|
|
"tags": ["messages"],
|
|
"operationId": "v2.session.messages",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "limit",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Maximum number of messages to return. When omitted, the endpoint returns its default page size."
|
|
},
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "order",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": ["asc", "desc"]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Message order for the first page. Use desc for newest first or asc for oldest first."
|
|
},
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "cursor",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"description": "Opaque pagination cursor returned as cursor.previous or cursor.next in the previous response. Do not combine with order."
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "SessionMessagesResponse",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionMessagesResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidCursorError | InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/InvalidCursorError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "UnknownError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnknownError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve projected messages for a session. Items keep the requested order across pages; use cursor.next or cursor.previous to move through the ordered timeline.",
|
|
"summary": "Get session messages"
|
|
}
|
|
},
|
|
"/api/model": {
|
|
"get": {
|
|
"tags": ["models"],
|
|
"operationId": "v2.model.list",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ModelV2.Info"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"503": {
|
|
"description": "ServiceUnavailableError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServiceUnavailableError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve available models ordered by release date.",
|
|
"summary": "List models"
|
|
}
|
|
},
|
|
"/api/model/default": {
|
|
"get": {
|
|
"tags": ["models"],
|
|
"operationId": "v2.model.default",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ModelV2.Info"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"503": {
|
|
"description": "ServiceUnavailableError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServiceUnavailableError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve the model used when a session has no explicit model selection.",
|
|
"summary": "Get default model"
|
|
}
|
|
},
|
|
"/api/generate": {
|
|
"post": {
|
|
"tags": ["generate"],
|
|
"operationId": "v2.generate.text",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "GenerateTextResponse",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GenerateTextResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError1"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"503": {
|
|
"description": "ServiceUnavailableError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServiceUnavailableError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Run one stateless model generation at the requested location and return the assistant text. Uses the location's default model when none is specified.",
|
|
"summary": "Generate text",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"prompt": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Model.Ref"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["prompt"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/provider": {
|
|
"get": {
|
|
"tags": ["providers"],
|
|
"operationId": "v2.provider.list",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ProviderV2.Info"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"503": {
|
|
"description": "ServiceUnavailableError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServiceUnavailableError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve active AI providers so clients can show provider availability and configuration.",
|
|
"summary": "List providers"
|
|
}
|
|
},
|
|
"/api/provider/{providerID}": {
|
|
"get": {
|
|
"tags": ["providers"],
|
|
"operationId": "v2.provider.get",
|
|
"parameters": [
|
|
{
|
|
"name": "providerID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"$ref": "#/components/schemas/ProviderV2.Info"
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "ProviderNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ProviderNotFoundError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"503": {
|
|
"description": "ServiceUnavailableError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServiceUnavailableError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve a single AI provider so clients can inspect its availability and endpoint settings.",
|
|
"summary": "Get provider"
|
|
}
|
|
},
|
|
"/api/integration": {
|
|
"get": {
|
|
"tags": ["integrations"],
|
|
"operationId": "v2.integration.list",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Integration.Info"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve available integrations and their authentication methods.",
|
|
"summary": "List integrations"
|
|
}
|
|
},
|
|
"/api/integration/{integrationID}": {
|
|
"get": {
|
|
"tags": ["integrations"],
|
|
"operationId": "v2.integration.get",
|
|
"parameters": [
|
|
{
|
|
"name": "integrationID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Integration.Info"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve one integration and its authentication methods.",
|
|
"summary": "Get integration"
|
|
}
|
|
},
|
|
"/api/integration/{integrationID}/connect/key": {
|
|
"post": {
|
|
"tags": ["integrations"],
|
|
"operationId": "v2.integration.connect.key",
|
|
"parameters": [
|
|
{
|
|
"name": "integrationID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError1"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Run a key authentication method and store the resulting credential.",
|
|
"summary": "Connect with key",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"label": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["key"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/integration/{integrationID}/connect/oauth": {
|
|
"post": {
|
|
"tags": ["integrations"],
|
|
"operationId": "v2.integration.connect.oauth",
|
|
"parameters": [
|
|
{
|
|
"name": "integrationID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"$ref": "#/components/schemas/Integration.Attempt"
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError1"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Start an OAuth attempt and return the authorization details.",
|
|
"summary": "Begin OAuth connection",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"methodID": {
|
|
"type": "string"
|
|
},
|
|
"inputs": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"label": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["methodID", "inputs"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/integration/attempt/{attemptID}": {
|
|
"get": {
|
|
"tags": ["integrations"],
|
|
"operationId": "v2.integration.attempt.status",
|
|
"parameters": [
|
|
{
|
|
"name": "attemptID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"$ref": "#/components/schemas/Integration.AttemptStatus"
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Poll the current status of an OAuth attempt.",
|
|
"summary": "Get OAuth attempt status"
|
|
},
|
|
"delete": {
|
|
"tags": ["integrations"],
|
|
"operationId": "v2.integration.attempt.cancel",
|
|
"parameters": [
|
|
{
|
|
"name": "attemptID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Cancel an OAuth attempt and release its resources.",
|
|
"summary": "Cancel OAuth connection"
|
|
}
|
|
},
|
|
"/api/integration/attempt/{attemptID}/complete": {
|
|
"post": {
|
|
"tags": ["integrations"],
|
|
"operationId": "v2.integration.attempt.complete",
|
|
"parameters": [
|
|
{
|
|
"name": "attemptID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError1"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Complete a code-based OAuth attempt and store the resulting credential.",
|
|
"summary": "Complete OAuth connection",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"code": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/mcp": {
|
|
"get": {
|
|
"tags": ["mcp"],
|
|
"operationId": "v2.mcp.list",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Mcp.Server"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve configured MCP servers and their connection status.",
|
|
"summary": "List MCP servers"
|
|
}
|
|
},
|
|
"/api/credential/{credentialID}": {
|
|
"patch": {
|
|
"tags": ["server.credential"],
|
|
"operationId": "v2.credential.update",
|
|
"parameters": [
|
|
{
|
|
"name": "credentialID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Update a stored credential label.",
|
|
"summary": "Update credential",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"label": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["label"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
},
|
|
"delete": {
|
|
"tags": ["server.credential"],
|
|
"operationId": "v2.credential.remove",
|
|
"parameters": [
|
|
{
|
|
"name": "credentialID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Remove a stored integration credential.",
|
|
"summary": "Remove credential"
|
|
}
|
|
},
|
|
"/api/project/current": {
|
|
"get": {
|
|
"tags": ["projects"],
|
|
"operationId": "v2.project.current",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Project.Current",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Project.Current"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Resolve the project for the requested location.",
|
|
"summary": "Get current project"
|
|
}
|
|
},
|
|
"/api/project/{projectID}/directories": {
|
|
"get": {
|
|
"tags": ["projects"],
|
|
"operationId": "v2.project.directories",
|
|
"parameters": [
|
|
{
|
|
"name": "projectID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Project.Directories",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Project.Directories"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "List known local absolute directories for a project.",
|
|
"summary": "List project directories"
|
|
}
|
|
},
|
|
"/api/form/request": {
|
|
"get": {
|
|
"tags": ["forms"],
|
|
"operationId": "v2.form.request.list",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Form.FormInfo"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.UrlInfo"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve pending forms for a location.",
|
|
"summary": "List pending form requests"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/form": {
|
|
"get": {
|
|
"tags": ["forms"],
|
|
"operationId": "v2.session.form.list",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Form.FormInfo"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.UrlInfo"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve pending forms for a session.",
|
|
"summary": "List session forms"
|
|
},
|
|
"post": {
|
|
"tags": ["forms"],
|
|
"operationId": "v2.session.form.create",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Form.FormInfo"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.UrlInfo"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError1"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "ConflictError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ConflictError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Create a form for a session.",
|
|
"summary": "Create session form",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Form.CreatePayload"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/form/{formID}": {
|
|
"get": {
|
|
"tags": ["forms"],
|
|
"operationId": "v2.session.form.get",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "formID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^frm_"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Form.FormInfo"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.UrlInfo"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError | FormNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/FormNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve a form for a session.",
|
|
"summary": "Get session form"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/form/{formID}/state": {
|
|
"get": {
|
|
"tags": ["forms"],
|
|
"operationId": "v2.session.form.state",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "formID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^frm_"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/Form.State"
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError | FormNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/FormNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve the current state for a form.",
|
|
"summary": "Get form state"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/form/{formID}/reply": {
|
|
"post": {
|
|
"tags": ["forms"],
|
|
"operationId": "v2.session.form.reply",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "formID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^frm_"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "FormInvalidAnswerError | InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/FormInvalidAnswerError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError | FormNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/FormNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "FormAlreadySettledError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/FormAlreadySettledError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Submit an answer to a pending form.",
|
|
"summary": "Reply to form",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Form.Reply"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/form/{formID}/cancel": {
|
|
"post": {
|
|
"tags": ["forms"],
|
|
"operationId": "v2.session.form.cancel",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "formID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^frm_"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError | FormNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/FormNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "FormAlreadySettledError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/FormAlreadySettledError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Cancel a pending form.",
|
|
"summary": "Cancel form"
|
|
}
|
|
},
|
|
"/api/permission/request": {
|
|
"get": {
|
|
"tags": ["permissions"],
|
|
"operationId": "v2.permission.request.list",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/PermissionV2.Request"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve pending permission requests for a location.",
|
|
"summary": "List pending permission requests"
|
|
}
|
|
},
|
|
"/api/permission/saved": {
|
|
"get": {
|
|
"tags": ["permissions"],
|
|
"operationId": "v2.permission.saved.list",
|
|
"parameters": [
|
|
{
|
|
"name": "projectID",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/PermissionSaved.Info"
|
|
}
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve saved permissions, optionally filtered by project.",
|
|
"summary": "List saved permissions"
|
|
}
|
|
},
|
|
"/api/permission/saved/{id}": {
|
|
"delete": {
|
|
"tags": ["permissions"],
|
|
"operationId": "v2.permission.saved.remove",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Remove a saved permission by ID.",
|
|
"summary": "Remove saved permission"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/permission": {
|
|
"post": {
|
|
"tags": ["permissions"],
|
|
"operationId": "v2.session.permission.create",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^per"
|
|
}
|
|
]
|
|
},
|
|
"effect": {
|
|
"$ref": "#/components/schemas/PermissionV2.Effect"
|
|
}
|
|
},
|
|
"required": ["id", "effect"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Evaluate and, when approval is required, create a permission request for a session.",
|
|
"summary": "Create permission request",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^per"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"action": {
|
|
"type": "string"
|
|
},
|
|
"resources": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"save": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"source": {
|
|
"$ref": "#/components/schemas/PermissionV2.Source"
|
|
},
|
|
"agent": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["action", "resources"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
},
|
|
"get": {
|
|
"tags": ["permissions"],
|
|
"operationId": "v2.session.permission.list",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/PermissionV2.Request"
|
|
}
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve pending permission requests owned by a session.",
|
|
"summary": "List session permission requests"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/permission/{requestID}": {
|
|
"get": {
|
|
"tags": ["permissions"],
|
|
"operationId": "v2.session.permission.get",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "requestID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^per"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/PermissionV2.Request"
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError | PermissionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/PermissionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve a pending permission request owned by a session.",
|
|
"summary": "Get permission request"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/permission/{requestID}/reply": {
|
|
"post": {
|
|
"tags": ["permissions"],
|
|
"operationId": "v2.session.permission.reply",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "requestID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^per"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError | PermissionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/PermissionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Respond to a pending permission request owned by a session.",
|
|
"summary": "Reply to pending permission request",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"reply": {
|
|
"$ref": "#/components/schemas/PermissionV2.Reply"
|
|
},
|
|
"message": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["reply"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/fs/read/*": {
|
|
"get": {
|
|
"tags": ["filesystem"],
|
|
"operationId": "v2.fs.read",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/octet-stream": {
|
|
"schema": {
|
|
"type": "string",
|
|
"format": "binary"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Serve one file relative to the requested location.",
|
|
"summary": "Read file"
|
|
}
|
|
},
|
|
"/api/fs/list": {
|
|
"get": {
|
|
"tags": ["filesystem"],
|
|
"operationId": "v2.fs.list",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
},
|
|
{
|
|
"name": "path",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/FileSystem.Entry"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "List direct children of one directory relative to the requested location.",
|
|
"summary": "List directory"
|
|
}
|
|
},
|
|
"/api/fs/find": {
|
|
"get": {
|
|
"tags": ["filesystem"],
|
|
"operationId": "v2.fs.find",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
},
|
|
{
|
|
"name": "query",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "type",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string",
|
|
"enum": ["file", "directory"]
|
|
},
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "limit",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/FileSystem.Entry"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Find recursively ranked filesystem entries relative to the requested location.",
|
|
"summary": "Find files"
|
|
}
|
|
},
|
|
"/api/command": {
|
|
"get": {
|
|
"tags": ["commands"],
|
|
"operationId": "v2.command.list",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CommandV2.Info"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve currently registered commands.",
|
|
"summary": "List commands"
|
|
}
|
|
},
|
|
"/api/skill": {
|
|
"get": {
|
|
"tags": ["skills"],
|
|
"operationId": "v2.skill.list",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SkillV2.Info"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve currently registered skills.",
|
|
"summary": "List skills"
|
|
}
|
|
},
|
|
"/api/event": {
|
|
"get": {
|
|
"tags": ["events"],
|
|
"operationId": "v2.event.subscribe",
|
|
"parameters": [],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"text/event-stream": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"event": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"$ref": "#/components/schemas/V2EventStream"
|
|
}
|
|
},
|
|
"required": ["id", "event", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"x-effect-stream": {
|
|
"encoding": "sse",
|
|
"causeSchema": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["Fail"]
|
|
},
|
|
"error": {
|
|
"not": {}
|
|
}
|
|
},
|
|
"required": ["_tag", "error"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["Die"]
|
|
},
|
|
"defect": {}
|
|
},
|
|
"required": ["_tag", "defect"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["Interrupt"]
|
|
},
|
|
"fiberId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["_tag", "fiberId"],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"errorSchema": {
|
|
"not": {}
|
|
},
|
|
"failureEvent": "effect/httpapi/stream/failure"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Subscribe to native event payloads for the server. Volatile by contract: a slow consumer overflows and fails the stream, and events during disconnection are missed. Consumers that need reliability should combine the changes feed with durable session log reads.",
|
|
"summary": "Subscribe to events"
|
|
}
|
|
},
|
|
"/api/event/changes": {
|
|
"get": {
|
|
"tags": ["events"],
|
|
"operationId": "v2.event.changes",
|
|
"parameters": [],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"text/event-stream": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"event": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"$ref": "#/components/schemas/EventLog.ChangeStream"
|
|
}
|
|
},
|
|
"required": ["id", "event", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"x-effect-stream": {
|
|
"encoding": "sse",
|
|
"causeSchema": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["Fail"]
|
|
},
|
|
"error": {
|
|
"not": {}
|
|
}
|
|
},
|
|
"required": ["_tag", "error"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["Die"]
|
|
},
|
|
"defect": {}
|
|
},
|
|
"required": ["_tag", "defect"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["Interrupt"]
|
|
},
|
|
"fiberId": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["_tag", "fiberId"],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"errorSchema": {
|
|
"not": {}
|
|
},
|
|
"failureEvent": "effect/httpapi/stream/failure"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Payload-free hint channel: after an event commits, a subscriber eventually receives a hint for that aggregate with seq at or beyond the event, or a sweep-required marker. Hints coalesce to the latest seq per aggregate under backpressure and the stream never fails from overflow. No consumer may derive correctness from receiving a hint; correctness always comes from durable log reads plus the consumer's own checkpoint. A sweep-required marker is emitted first on every (re)subscribe and whenever hint retention is exceeded: treat every aggregate as potentially dirty and recover via bounded sweep plus log reads.",
|
|
"summary": "Subscribe to change hints"
|
|
}
|
|
},
|
|
"/api/pty": {
|
|
"get": {
|
|
"tags": ["pty"],
|
|
"operationId": "v2.pty.list",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Pty"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "List PTY sessions for a location, including exited sessions retained until removal.",
|
|
"summary": "List PTY sessions"
|
|
},
|
|
"post": {
|
|
"tags": ["pty"],
|
|
"operationId": "v2.pty.create",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"$ref": "#/components/schemas/Pty"
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Create a pseudo-terminal session for a location.",
|
|
"summary": "Create PTY session",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "string"
|
|
},
|
|
"args": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"cwd": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"env": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/pty/{ptyID}": {
|
|
"get": {
|
|
"tags": ["pty"],
|
|
"operationId": "v2.pty.get",
|
|
"parameters": [
|
|
{
|
|
"name": "ptyID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^pty"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"$ref": "#/components/schemas/Pty"
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "PtyNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PtyNotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get one PTY session, including its exit code once exited.",
|
|
"summary": "Get PTY session"
|
|
},
|
|
"put": {
|
|
"tags": ["pty"],
|
|
"operationId": "v2.pty.update",
|
|
"parameters": [
|
|
{
|
|
"name": "ptyID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^pty"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"$ref": "#/components/schemas/Pty"
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "PtyNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PtyNotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Update the title or viewport size of one PTY session.",
|
|
"summary": "Update PTY session",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"size": {
|
|
"type": "object",
|
|
"properties": {
|
|
"rows": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"exclusiveMinimum": 0
|
|
}
|
|
]
|
|
},
|
|
"cols": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"exclusiveMinimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["rows", "cols"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
},
|
|
"delete": {
|
|
"tags": ["pty"],
|
|
"operationId": "v2.pty.remove",
|
|
"parameters": [
|
|
{
|
|
"name": "ptyID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^pty"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "PtyNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PtyNotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Terminate and remove one PTY session.",
|
|
"summary": "Remove PTY session"
|
|
}
|
|
},
|
|
"/api/pty/{ptyID}/connect-token": {
|
|
"post": {
|
|
"tags": ["pty"],
|
|
"operationId": "v2.pty.connectToken",
|
|
"parameters": [
|
|
{
|
|
"name": "ptyID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^pty"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"$ref": "#/components/schemas/PtyTicket.ConnectToken"
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "ForbiddenError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ForbiddenError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "PtyNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PtyNotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Create a short-lived single-use ticket for opening a PTY WebSocket connection.",
|
|
"summary": "Create PTY WebSocket token"
|
|
}
|
|
},
|
|
"/api/pty/{ptyID}/connect": {
|
|
"get": {
|
|
"tags": ["pty"],
|
|
"operationId": "v2.pty.connect",
|
|
"x-websocket": true,
|
|
"parameters": [
|
|
{
|
|
"name": "ptyID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^pty"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "location[directory]",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "location[workspace]",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "cursor",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "ticket",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "ForbiddenError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ForbiddenError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "PtyNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PtyNotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Establish a WebSocket connection streaming PTY output and accepting terminal input.",
|
|
"summary": "Connect to PTY session"
|
|
}
|
|
},
|
|
"/api/shell": {
|
|
"get": {
|
|
"tags": ["shell"],
|
|
"operationId": "v2.shell.list",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Shell1"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "List currently running shell commands for a location. Exited commands are not included.",
|
|
"summary": "List running shell commands"
|
|
},
|
|
"post": {
|
|
"tags": ["shell"],
|
|
"operationId": "v2.shell.create",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"$ref": "#/components/schemas/Shell1"
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Spawn one non-interactive shell command for a location. Combined stdout/stderr is captured to a file pageable via output.",
|
|
"summary": "Run shell command",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "string"
|
|
},
|
|
"cwd": {
|
|
"type": "string"
|
|
},
|
|
"timeout": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": ["command"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/shell/{id}": {
|
|
"get": {
|
|
"tags": ["shell"],
|
|
"operationId": "v2.shell.get",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^sh_"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"$ref": "#/components/schemas/Shell1"
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "ShellNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ShellNotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get one shell command, including its status and exit code once exited.",
|
|
"summary": "Get shell command"
|
|
},
|
|
"delete": {
|
|
"tags": ["shell"],
|
|
"operationId": "v2.shell.remove",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^sh_"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "ShellNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ShellNotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Terminate and remove one shell command and its retained output.",
|
|
"summary": "Remove shell command"
|
|
}
|
|
},
|
|
"/api/shell/{id}/output": {
|
|
"get": {
|
|
"tags": ["shell"],
|
|
"operationId": "v2.shell.output",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^sh_"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
},
|
|
{
|
|
"name": "cursor",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^[+-]?\\d*\\.?\\d+(?:[Ee][+-]?\\d+)?$"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "limit",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^[+-]?\\d*\\.?\\d+(?:[Ee][+-]?\\d+)?$"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"output": {
|
|
"type": "string"
|
|
},
|
|
"cursor": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"size": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"truncated": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["output", "cursor", "size", "truncated"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "ShellNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ShellNotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Page through captured combined output by absolute byte cursor.",
|
|
"summary": "Read shell output"
|
|
}
|
|
},
|
|
"/api/question/request": {
|
|
"get": {
|
|
"tags": ["session questions"],
|
|
"operationId": "v2.question.request.list",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/QuestionV2.Request"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve pending question requests for a location.",
|
|
"summary": "List pending question requests"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/question": {
|
|
"get": {
|
|
"tags": ["session questions"],
|
|
"operationId": "v2.session.question.list",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/QuestionV2.Request"
|
|
}
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve pending question requests owned by a session.",
|
|
"summary": "List session question requests"
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/question/{requestID}/reply": {
|
|
"post": {
|
|
"tags": ["session questions"],
|
|
"operationId": "v2.session.question.reply",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "requestID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^que"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError | QuestionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/QuestionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Answer a pending question request owned by a session.",
|
|
"summary": "Reply to pending question request",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/QuestionV2.Reply"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/question/{requestID}/reject": {
|
|
"post": {
|
|
"tags": ["session questions"],
|
|
"operationId": "v2.session.question.reject",
|
|
"parameters": [
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "requestID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^que"
|
|
}
|
|
]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "SessionNotFoundError | QuestionNotFoundError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/QuestionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Reject a pending question request owned by a session.",
|
|
"summary": "Reject pending question request"
|
|
}
|
|
},
|
|
"/api/reference": {
|
|
"get": {
|
|
"tags": ["reference"],
|
|
"operationId": "v2.reference.list",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Reference.Info"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "List references available in the requested location.",
|
|
"summary": "List references"
|
|
}
|
|
},
|
|
"/experimental/project/{projectID}/copy": {
|
|
"post": {
|
|
"tags": ["projectCopy"],
|
|
"operationId": "v2.projectCopy.create",
|
|
"parameters": [
|
|
{
|
|
"name": "projectID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "ProjectCopy.Copy",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ProjectCopy.Copy"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "ProjectCopyError | InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ProjectCopyError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"strategy": {
|
|
"type": "string"
|
|
},
|
|
"directory": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["strategy", "directory"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
},
|
|
"delete": {
|
|
"tags": ["projectCopy"],
|
|
"operationId": "v2.projectCopy.remove",
|
|
"parameters": [
|
|
{
|
|
"name": "projectID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "ProjectCopyError | InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ProjectCopyError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"type": "string"
|
|
},
|
|
"force": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["directory", "force"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
}
|
|
}
|
|
},
|
|
"/experimental/project/{projectID}/copy/refresh": {
|
|
"post": {
|
|
"tags": ["projectCopy"],
|
|
"operationId": "v2.projectCopy.refresh",
|
|
"parameters": [
|
|
{
|
|
"name": "projectID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
},
|
|
"400": {
|
|
"description": "ProjectCopyError | InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ProjectCopyError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/vcs/status": {
|
|
"get": {
|
|
"tags": ["vcs"],
|
|
"operationId": "v2.vcs.status",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Vcs.FileStatus"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "List uncommitted working-copy changes relative to the requested location.",
|
|
"summary": "VCS status"
|
|
}
|
|
},
|
|
"/api/vcs/diff": {
|
|
"get": {
|
|
"tags": ["vcs"],
|
|
"operationId": "v2.vcs.diff",
|
|
"parameters": [
|
|
{
|
|
"name": "location",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspace": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false,
|
|
"style": "deepObject",
|
|
"explode": true
|
|
},
|
|
{
|
|
"name": "mode",
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Vcs.Mode"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "context",
|
|
"in": "query",
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"required": false
|
|
}
|
|
],
|
|
"security": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Info"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SnapshotFileDiff"
|
|
}
|
|
}
|
|
},
|
|
"required": ["location", "data"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "InvalidRequestError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvalidRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "UnauthorizedError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnauthorizedError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Diff the working copy against HEAD (mode git) or the default-branch merge base (mode branch) for the requested location.",
|
|
"summary": "VCS diff"
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"schemas": {
|
|
"UnauthorizedError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["UnauthorizedError"]
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"InvalidRequestError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["InvalidRequestError"]
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"field": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["_tag", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"Location.Info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"type": "string"
|
|
},
|
|
"workspaceID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^wrk"
|
|
}
|
|
]
|
|
},
|
|
"project": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"directory": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "directory"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["directory", "project"],
|
|
"additionalProperties": false
|
|
},
|
|
"Model.Ref": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"providerID": {
|
|
"type": "string"
|
|
},
|
|
"variant": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "providerID"],
|
|
"additionalProperties": false
|
|
},
|
|
"Provider.Settings": {
|
|
"type": "object"
|
|
},
|
|
"Provider.Request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"settings": {
|
|
"$ref": "#/components/schemas/Provider.Settings"
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"body": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": ["settings", "headers", "body"],
|
|
"additionalProperties": false
|
|
},
|
|
"Agent.Color": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^#[0-9a-fA-F]{6}$"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["primary", "secondary", "accent", "success", "warning", "error", "info"]
|
|
}
|
|
]
|
|
},
|
|
"PermissionV2.Effect": {
|
|
"type": "string",
|
|
"enum": ["allow", "deny", "ask"]
|
|
},
|
|
"PermissionV2.Rule": {
|
|
"type": "object",
|
|
"properties": {
|
|
"action": {
|
|
"type": "string"
|
|
},
|
|
"resource": {
|
|
"type": "string"
|
|
},
|
|
"effect": {
|
|
"$ref": "#/components/schemas/PermissionV2.Effect"
|
|
}
|
|
},
|
|
"required": ["action", "resource", "effect"],
|
|
"additionalProperties": false
|
|
},
|
|
"PermissionV2.Ruleset": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/PermissionV2.Rule"
|
|
}
|
|
},
|
|
"AgentV2.Info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"$ref": "#/components/schemas/Model.Ref"
|
|
},
|
|
"request": {
|
|
"$ref": "#/components/schemas/Provider.Request"
|
|
},
|
|
"system": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": ["subagent", "primary", "all"]
|
|
},
|
|
"hidden": {
|
|
"type": "boolean"
|
|
},
|
|
"color": {
|
|
"$ref": "#/components/schemas/Agent.Color"
|
|
},
|
|
"steps": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"exclusiveMinimum": 0
|
|
}
|
|
]
|
|
},
|
|
"permissions": {
|
|
"$ref": "#/components/schemas/PermissionV2.Ruleset"
|
|
}
|
|
},
|
|
"required": ["id", "request", "mode", "hidden", "permissions"],
|
|
"additionalProperties": false
|
|
},
|
|
"Plugin.Info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"],
|
|
"additionalProperties": false
|
|
},
|
|
"Location.Ref": {
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"type": "string"
|
|
},
|
|
"workspaceID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^wrk"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["directory"],
|
|
"additionalProperties": false
|
|
},
|
|
"File.Diff": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["added", "modified", "deleted"]
|
|
},
|
|
"additions": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"deletions": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"patch": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["path", "status", "additions", "deletions", "patch"],
|
|
"additionalProperties": false
|
|
},
|
|
"Revert.State": {
|
|
"type": "object",
|
|
"properties": {
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"partID": {
|
|
"type": "string"
|
|
},
|
|
"snapshot": {
|
|
"type": "string"
|
|
},
|
|
"diff": {
|
|
"type": "string"
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/File.Diff"
|
|
}
|
|
}
|
|
},
|
|
"required": ["messageID"],
|
|
"additionalProperties": false
|
|
},
|
|
"SessionV2.Info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"parentID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"projectID": {
|
|
"type": "string"
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"$ref": "#/components/schemas/Model.Ref"
|
|
},
|
|
"cost": {
|
|
"type": "number"
|
|
},
|
|
"tokens": {
|
|
"type": "object",
|
|
"properties": {
|
|
"input": {
|
|
"type": "number"
|
|
},
|
|
"output": {
|
|
"type": "number"
|
|
},
|
|
"reasoning": {
|
|
"type": "number"
|
|
},
|
|
"cache": {
|
|
"type": "object",
|
|
"properties": {
|
|
"read": {
|
|
"type": "number"
|
|
},
|
|
"write": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["read", "write"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["input", "output", "reasoning", "cache"],
|
|
"additionalProperties": false
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
},
|
|
"updated": {
|
|
"type": "number"
|
|
},
|
|
"archived": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["created", "updated"],
|
|
"additionalProperties": false
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"subpath": {
|
|
"type": "string"
|
|
},
|
|
"revert": {
|
|
"$ref": "#/components/schemas/Revert.State"
|
|
}
|
|
},
|
|
"required": ["id", "projectID", "cost", "tokens", "time", "title", "location"],
|
|
"additionalProperties": false
|
|
},
|
|
"SessionWatermarks": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^ses": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"description": "Durable log seq each session's snapshot was computed at. Attach a live log read after the watermark to compose fetch and stream gap-free; apply a snapshot only where its watermark is at or beyond already-applied events. Sessions without durable events are absent."
|
|
},
|
|
"SessionsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SessionV2.Info"
|
|
}
|
|
},
|
|
"watermarks": {
|
|
"$ref": "#/components/schemas/SessionWatermarks"
|
|
},
|
|
"cursor": {
|
|
"type": "object",
|
|
"properties": {
|
|
"previous": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"next": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["data", "watermarks", "cursor"],
|
|
"additionalProperties": false
|
|
},
|
|
"InvalidCursorError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["InvalidCursorError"]
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"InvalidRequestError1": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["InvalidRequestError"]
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"field": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["_tag", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"SessionActive": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["running"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false
|
|
},
|
|
"SessionNotFoundError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["SessionNotFoundError"]
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "sessionID", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"MessageNotFoundError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["MessageNotFoundError"]
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "sessionID", "messageID", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"Prompt.Source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "number"
|
|
},
|
|
"end": {
|
|
"type": "number"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["start", "end", "text"],
|
|
"additionalProperties": false
|
|
},
|
|
"PromptInput.FileAttachment": {
|
|
"type": "object",
|
|
"properties": {
|
|
"uri": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"$ref": "#/components/schemas/Prompt.Source"
|
|
}
|
|
},
|
|
"required": ["uri"],
|
|
"additionalProperties": false
|
|
},
|
|
"Prompt.AgentAttachment": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"$ref": "#/components/schemas/Prompt.Source"
|
|
}
|
|
},
|
|
"required": ["name"],
|
|
"additionalProperties": false
|
|
},
|
|
"PromptInput": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/PromptInput.FileAttachment"
|
|
}
|
|
},
|
|
"agents": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Prompt.AgentAttachment"
|
|
}
|
|
}
|
|
},
|
|
"required": ["text"],
|
|
"additionalProperties": false
|
|
},
|
|
"Prompt.FileAttachment": {
|
|
"type": "object",
|
|
"properties": {
|
|
"uri": {
|
|
"type": "string"
|
|
},
|
|
"mime": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"$ref": "#/components/schemas/Prompt.Source"
|
|
}
|
|
},
|
|
"required": ["uri", "mime"],
|
|
"additionalProperties": false
|
|
},
|
|
"Prompt": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Prompt.FileAttachment"
|
|
}
|
|
},
|
|
"agents": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Prompt.AgentAttachment"
|
|
}
|
|
}
|
|
},
|
|
"required": ["text"],
|
|
"additionalProperties": false
|
|
},
|
|
"SessionInput.Admitted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"admittedSeq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"prompt": {
|
|
"$ref": "#/components/schemas/Prompt"
|
|
},
|
|
"delivery": {
|
|
"type": "string",
|
|
"enum": ["steer", "queue"]
|
|
},
|
|
"timeCreated": {
|
|
"type": "number"
|
|
},
|
|
"promotedSeq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["admittedSeq", "id", "sessionID", "prompt", "delivery", "timeCreated"],
|
|
"additionalProperties": false
|
|
},
|
|
"ConflictError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["ConflictError"]
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"resource": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["_tag", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"CommandNotFoundError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["CommandNotFoundError"]
|
|
},
|
|
"command": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "command", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"CommandEvaluationError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["CommandEvaluationError"]
|
|
},
|
|
"command": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "command", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"SkillNotFoundError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["SkillNotFoundError"]
|
|
},
|
|
"skill": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "skill", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"SessionBusyError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["SessionBusyError"]
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "sessionID", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"ServiceUnavailableError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["ServiceUnavailableError"]
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"service": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["_tag", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"UnknownError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["UnknownError"]
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"ref": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["_tag", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Message.AgentSwitched": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["created"],
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["agent-switched"]
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "time", "type", "agent"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Message.ModelSwitched": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["created"],
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["model-switched"]
|
|
},
|
|
"model": {
|
|
"$ref": "#/components/schemas/Model.Ref"
|
|
}
|
|
},
|
|
"required": ["id", "time", "type", "model"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Message.User": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["created"],
|
|
"additionalProperties": false
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Prompt.FileAttachment"
|
|
}
|
|
},
|
|
"agents": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Prompt.AgentAttachment"
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["user"]
|
|
}
|
|
},
|
|
"required": ["id", "time", "text", "type"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Message.Synthetic": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["created"],
|
|
"additionalProperties": false
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["synthetic"]
|
|
}
|
|
},
|
|
"required": ["id", "time", "sessionID", "text", "type"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Message.System": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["created"],
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["system"]
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "time", "type", "text"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Message.Skill": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["created"],
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["skill"]
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "time", "type", "name", "text"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Message.Shell": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
},
|
|
"completed": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["created"],
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["shell"]
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"command": {
|
|
"type": "string"
|
|
},
|
|
"output": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "time", "type", "callID", "command", "output"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Message.Assistant.Text": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["text"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["type", "id", "text"],
|
|
"additionalProperties": false
|
|
},
|
|
"LLM.ProviderMetadata": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"Session.Message.Assistant.Reasoning": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["reasoning"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"providerMetadata": {
|
|
"$ref": "#/components/schemas/LLM.ProviderMetadata"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
},
|
|
"completed": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["created"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "id", "text"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Message.ToolState.Pending": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["pending"]
|
|
},
|
|
"input": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["status", "input"],
|
|
"additionalProperties": false
|
|
},
|
|
"Tool.TextContent": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["text"]
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["type", "text"],
|
|
"additionalProperties": false
|
|
},
|
|
"Tool.FileContent": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["file"]
|
|
},
|
|
"uri": {
|
|
"type": "string"
|
|
},
|
|
"mime": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["type", "uri", "mime"],
|
|
"additionalProperties": false
|
|
},
|
|
"LLM.ToolContent": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Tool.TextContent"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Tool.FileContent"
|
|
}
|
|
]
|
|
},
|
|
"Session.Message.ToolState.Running": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["running"]
|
|
},
|
|
"input": {
|
|
"type": "object"
|
|
},
|
|
"structured": {
|
|
"type": "object"
|
|
},
|
|
"content": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/LLM.ToolContent"
|
|
}
|
|
}
|
|
},
|
|
"required": ["status", "input", "structured", "content"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Message.ToolState.Completed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["completed"]
|
|
},
|
|
"input": {
|
|
"type": "object"
|
|
},
|
|
"attachments": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Prompt.FileAttachment"
|
|
}
|
|
},
|
|
"content": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/LLM.ToolContent"
|
|
}
|
|
},
|
|
"outputPaths": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"structured": {
|
|
"type": "object"
|
|
},
|
|
"result": {}
|
|
},
|
|
"required": ["status", "input", "content", "structured"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Error.Unknown": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["unknown"]
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["type", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Message.ToolState.Error": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["error"]
|
|
},
|
|
"input": {
|
|
"type": "object"
|
|
},
|
|
"content": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/LLM.ToolContent"
|
|
}
|
|
},
|
|
"structured": {
|
|
"type": "object"
|
|
},
|
|
"error": {
|
|
"$ref": "#/components/schemas/Session.Error.Unknown"
|
|
},
|
|
"result": {}
|
|
},
|
|
"required": ["status", "input", "content", "structured", "error"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Message.Assistant.Tool": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["tool"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"provider": {
|
|
"type": "object",
|
|
"properties": {
|
|
"executed": {
|
|
"type": "boolean"
|
|
},
|
|
"metadata": {
|
|
"$ref": "#/components/schemas/LLM.ProviderMetadata"
|
|
},
|
|
"resultMetadata": {
|
|
"$ref": "#/components/schemas/LLM.ProviderMetadata"
|
|
}
|
|
},
|
|
"required": ["executed"],
|
|
"additionalProperties": false
|
|
},
|
|
"state": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.ToolState.Pending"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.ToolState.Running"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.ToolState.Completed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.ToolState.Error"
|
|
}
|
|
]
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
},
|
|
"ran": {
|
|
"type": "number"
|
|
},
|
|
"completed": {
|
|
"type": "number"
|
|
},
|
|
"pruned": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["created"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "id", "name", "state", "time"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Message.Assistant": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
},
|
|
"completed": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["created"],
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["assistant"]
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"$ref": "#/components/schemas/Model.Ref"
|
|
},
|
|
"content": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.Assistant.Text"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.Assistant.Reasoning"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.Assistant.Tool"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"snapshot": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "string"
|
|
},
|
|
"end": {
|
|
"type": "string"
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"finish": {
|
|
"type": "string"
|
|
},
|
|
"cost": {
|
|
"type": "number"
|
|
},
|
|
"tokens": {
|
|
"type": "object",
|
|
"properties": {
|
|
"input": {
|
|
"type": "number"
|
|
},
|
|
"output": {
|
|
"type": "number"
|
|
},
|
|
"reasoning": {
|
|
"type": "number"
|
|
},
|
|
"cache": {
|
|
"type": "object",
|
|
"properties": {
|
|
"read": {
|
|
"type": "number"
|
|
},
|
|
"write": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["read", "write"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["input", "output", "reasoning", "cache"],
|
|
"additionalProperties": false
|
|
},
|
|
"error": {
|
|
"$ref": "#/components/schemas/Session.Error.Unknown"
|
|
}
|
|
},
|
|
"required": ["id", "time", "type", "agent", "model", "content"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Message.Compaction": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["compaction"]
|
|
},
|
|
"reason": {
|
|
"type": "string",
|
|
"enum": ["auto", "manual"]
|
|
},
|
|
"summary": {
|
|
"type": "string"
|
|
},
|
|
"recent": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["created"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "reason", "summary", "recent", "id", "time"],
|
|
"additionalProperties": false
|
|
},
|
|
"Session.Message": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.AgentSwitched"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.ModelSwitched"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.User"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.Synthetic"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.System"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.Skill"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.Shell"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.Assistant"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Session.Message.Compaction"
|
|
}
|
|
]
|
|
},
|
|
"SessionContextEntry.Key": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^[a-z0-9][a-z0-9._-]*$",
|
|
"description": "Context entry key (lowercase alphanumerics plus . _ -)"
|
|
}
|
|
]
|
|
},
|
|
"SessionContextEntry.Info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"$ref": "#/components/schemas/SessionContextEntry.Key"
|
|
},
|
|
"value": {}
|
|
},
|
|
"required": ["key", "value"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.agent.switched": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.agent.switched"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "messageID", "agent"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.model.switched": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.model.switched"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"model": {
|
|
"$ref": "#/components/schemas/Model.Ref"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "messageID", "model"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.moved": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.moved"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"subdirectory": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "location"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.renamed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.renamed"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "title"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.forked": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.forked"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"parentID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "parentID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.prompted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.prompted"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"prompt": {
|
|
"$ref": "#/components/schemas/Prompt"
|
|
},
|
|
"delivery": {
|
|
"type": "string",
|
|
"enum": ["steer", "queue"]
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "messageID", "prompt", "delivery"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.prompt.admitted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.prompt.admitted"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"prompt": {
|
|
"$ref": "#/components/schemas/Prompt"
|
|
},
|
|
"delivery": {
|
|
"type": "string",
|
|
"enum": ["steer", "queue"]
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "messageID", "prompt", "delivery"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.context.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.context.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "messageID", "text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.synthetic": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.synthetic"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "messageID", "text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.skill.activated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.skill.activated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "messageID", "name", "text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.shell.started": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.shell.started"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"command": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "messageID", "callID", "command"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.shell.ended": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.shell.ended"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"output": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "callID", "output"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.step.started": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.step.started"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"$ref": "#/components/schemas/Model.Ref"
|
|
},
|
|
"snapshot": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "agent", "model"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.step.ended": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.step.ended"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"finish": {
|
|
"type": "string"
|
|
},
|
|
"cost": {
|
|
"type": "number"
|
|
},
|
|
"tokens": {
|
|
"type": "object",
|
|
"properties": {
|
|
"input": {
|
|
"type": "number"
|
|
},
|
|
"output": {
|
|
"type": "number"
|
|
},
|
|
"reasoning": {
|
|
"type": "number"
|
|
},
|
|
"cache": {
|
|
"type": "object",
|
|
"properties": {
|
|
"read": {
|
|
"type": "number"
|
|
},
|
|
"write": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["read", "write"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["input", "output", "reasoning", "cache"],
|
|
"additionalProperties": false
|
|
},
|
|
"snapshot": {
|
|
"type": "string"
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "finish", "cost", "tokens"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.step.failed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.step.failed"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"error": {
|
|
"$ref": "#/components/schemas/Session.Error.Unknown"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "error"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.text.started": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.text.started"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"textID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "textID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.text.ended": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.text.ended"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"textID": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "textID", "text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.tool.input.started": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.tool.input.started"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "callID", "name"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.tool.input.ended": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.tool.input.ended"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "callID", "text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"LLM.ProviderMetadata3": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"session.next.tool.called": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.tool.called"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"tool": {
|
|
"type": "string"
|
|
},
|
|
"input": {
|
|
"type": "object"
|
|
},
|
|
"provider": {
|
|
"type": "object",
|
|
"properties": {
|
|
"executed": {
|
|
"type": "boolean"
|
|
},
|
|
"metadata": {
|
|
"$ref": "#/components/schemas/LLM.ProviderMetadata3"
|
|
}
|
|
},
|
|
"required": ["executed"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "callID", "tool", "input", "provider"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.tool.progress": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.tool.progress"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"structured": {
|
|
"type": "object"
|
|
},
|
|
"content": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/LLM.ToolContent"
|
|
}
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "callID", "structured", "content"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"LLM.ProviderMetadata4": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"session.next.tool.success": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.tool.success"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"structured": {
|
|
"type": "object"
|
|
},
|
|
"content": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/LLM.ToolContent"
|
|
}
|
|
},
|
|
"outputPaths": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"result": {},
|
|
"provider": {
|
|
"type": "object",
|
|
"properties": {
|
|
"executed": {
|
|
"type": "boolean"
|
|
},
|
|
"metadata": {
|
|
"$ref": "#/components/schemas/LLM.ProviderMetadata4"
|
|
}
|
|
},
|
|
"required": ["executed"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "callID", "structured", "content", "provider"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"LLM.ProviderMetadata5": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"session.next.tool.failed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.tool.failed"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"error": {
|
|
"$ref": "#/components/schemas/Session.Error.Unknown"
|
|
},
|
|
"result": {},
|
|
"provider": {
|
|
"type": "object",
|
|
"properties": {
|
|
"executed": {
|
|
"type": "boolean"
|
|
},
|
|
"metadata": {
|
|
"$ref": "#/components/schemas/LLM.ProviderMetadata5"
|
|
}
|
|
},
|
|
"required": ["executed"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "callID", "error", "provider"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"LLM.ProviderMetadata6": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"session.next.reasoning.started": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.reasoning.started"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"reasoningID": {
|
|
"type": "string"
|
|
},
|
|
"providerMetadata": {
|
|
"$ref": "#/components/schemas/LLM.ProviderMetadata6"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "reasoningID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"LLM.ProviderMetadata7": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"session.next.reasoning.ended": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.reasoning.ended"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"reasoningID": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"providerMetadata": {
|
|
"$ref": "#/components/schemas/LLM.ProviderMetadata7"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "reasoningID", "text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.retry_error": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"statusCode": {
|
|
"type": "number"
|
|
},
|
|
"isRetryable": {
|
|
"type": "boolean"
|
|
},
|
|
"responseHeaders": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"responseBody": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": ["message", "isRetryable"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.retried": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.retried"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"attempt": {
|
|
"type": "number"
|
|
},
|
|
"error": {
|
|
"$ref": "#/components/schemas/session.next.retry_error"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "attempt", "error"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.compaction.started": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.compaction.started"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"reason": {
|
|
"type": "string",
|
|
"enum": ["auto", "manual"]
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "messageID", "reason"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.compaction.ended": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.compaction.ended"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"reason": {
|
|
"type": "string",
|
|
"enum": ["auto", "manual"]
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"recent": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "messageID", "reason", "text", "recent"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.revert.staged": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.revert.staged"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"revert": {
|
|
"$ref": "#/components/schemas/Revert.State"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "revert"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.revert.cleared": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.revert.cleared"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.revert.committed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.revert.committed"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "messageID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SessionDurableEvent": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/components/schemas/session.next.agent.switched"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.model.switched"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.moved"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.renamed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.forked"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.prompted"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.prompt.admitted"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.context.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.synthetic"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.skill.activated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.shell.started"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.shell.ended"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.step.started"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.step.ended"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.step.failed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.text.started"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.text.ended"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.tool.input.started"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.tool.input.ended"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.tool.called"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.tool.progress"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.tool.success"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.tool.failed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.reasoning.started"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.reasoning.ended"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.retried"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.compaction.started"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.compaction.ended"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.revert.staged"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.revert.cleared"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.revert.committed"
|
|
}
|
|
]
|
|
},
|
|
"EventLog.Synced": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["log.synced"]
|
|
},
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["type", "aggregateID"],
|
|
"additionalProperties": false,
|
|
"description": "Marker emitted once when a log read reaches its captured watermark. The reader holds every event committed at or below seq."
|
|
},
|
|
"SessionLogItem": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SessionDurableEvent"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventLog.Synced"
|
|
}
|
|
]
|
|
},
|
|
"SessionLogItemStream": {
|
|
"type": "string",
|
|
"contentSchema": {
|
|
"$ref": "#/components/schemas/SessionLogItem"
|
|
},
|
|
"contentMediaType": "application/json"
|
|
},
|
|
"SessionMessagesResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Session.Message"
|
|
}
|
|
},
|
|
"watermark": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"cursor": {
|
|
"type": "object",
|
|
"properties": {
|
|
"previous": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"next": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["data", "cursor"],
|
|
"additionalProperties": false
|
|
},
|
|
"Model.Api": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["aisdk"]
|
|
},
|
|
"package": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"settings": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": ["id", "type", "package"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["native"]
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"settings": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": ["id", "type", "settings"],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
},
|
|
"Model.Capabilities": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tools": {
|
|
"type": "boolean"
|
|
},
|
|
"input": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"output": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": ["tools", "input", "output"],
|
|
"additionalProperties": false
|
|
},
|
|
"Model.Cost": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tier": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["context"]
|
|
},
|
|
"size": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": ["type", "size"],
|
|
"additionalProperties": false
|
|
},
|
|
"input": {
|
|
"type": "number"
|
|
},
|
|
"output": {
|
|
"type": "number"
|
|
},
|
|
"cache": {
|
|
"type": "object",
|
|
"properties": {
|
|
"read": {
|
|
"type": "number"
|
|
},
|
|
"write": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["read", "write"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["input", "output", "cache"],
|
|
"additionalProperties": false
|
|
},
|
|
"ModelV2.Info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"providerID": {
|
|
"type": "string"
|
|
},
|
|
"family": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"api": {
|
|
"$ref": "#/components/schemas/Model.Api"
|
|
},
|
|
"capabilities": {
|
|
"$ref": "#/components/schemas/Model.Capabilities"
|
|
},
|
|
"request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"settings": {
|
|
"$ref": "#/components/schemas/Provider.Settings"
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"body": {
|
|
"type": "object"
|
|
},
|
|
"variant": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["settings", "headers", "body"],
|
|
"additionalProperties": false
|
|
},
|
|
"variants": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"settings": {
|
|
"$ref": "#/components/schemas/Provider.Settings"
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"body": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": ["id", "settings", "headers", "body"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"released": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["released"],
|
|
"additionalProperties": false
|
|
},
|
|
"cost": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Model.Cost"
|
|
}
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["alpha", "beta", "deprecated", "active"]
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"limit": {
|
|
"type": "object",
|
|
"properties": {
|
|
"context": {
|
|
"type": "integer"
|
|
},
|
|
"input": {
|
|
"type": "integer"
|
|
},
|
|
"output": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": ["context", "output"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"providerID",
|
|
"name",
|
|
"api",
|
|
"capabilities",
|
|
"request",
|
|
"variants",
|
|
"time",
|
|
"cost",
|
|
"status",
|
|
"enabled",
|
|
"limit"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"GenerateTextResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["data"],
|
|
"additionalProperties": false
|
|
},
|
|
"Provider.AISDK": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["aisdk"]
|
|
},
|
|
"package": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"settings": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": ["type", "package"],
|
|
"additionalProperties": false
|
|
},
|
|
"Provider.Native": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["native"]
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"settings": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": ["type", "settings"],
|
|
"additionalProperties": false
|
|
},
|
|
"Provider.Api": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Provider.AISDK"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Provider.Native"
|
|
}
|
|
]
|
|
},
|
|
"ProviderV2.Info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"integrationID": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"disabled": {
|
|
"type": "boolean"
|
|
},
|
|
"api": {
|
|
"$ref": "#/components/schemas/Provider.Api"
|
|
},
|
|
"request": {
|
|
"$ref": "#/components/schemas/Provider.Request"
|
|
}
|
|
},
|
|
"required": ["id", "name", "api", "request"],
|
|
"additionalProperties": false
|
|
},
|
|
"ProviderNotFoundError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["ProviderNotFoundError"]
|
|
},
|
|
"providerID": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "providerID", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"Integration.When": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"op": {
|
|
"type": "string",
|
|
"enum": ["eq", "neq"]
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["key", "op", "value"],
|
|
"additionalProperties": false
|
|
},
|
|
"Integration.TextPrompt": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["text"]
|
|
},
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"placeholder": {
|
|
"type": "string"
|
|
},
|
|
"when": {
|
|
"$ref": "#/components/schemas/Integration.When"
|
|
}
|
|
},
|
|
"required": ["type", "key", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"Integration.SelectPrompt": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["select"]
|
|
},
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"options": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
},
|
|
"hint": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["label", "value"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"when": {
|
|
"$ref": "#/components/schemas/Integration.When"
|
|
}
|
|
},
|
|
"required": ["type", "key", "message", "options"],
|
|
"additionalProperties": false
|
|
},
|
|
"Integration.OAuthMethod": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["oauth"]
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"prompts": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Integration.TextPrompt"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Integration.SelectPrompt"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": ["id", "type", "label"],
|
|
"additionalProperties": false
|
|
},
|
|
"Integration.KeyMethod": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["key"]
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false
|
|
},
|
|
"Integration.EnvMethod": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["env"]
|
|
},
|
|
"names": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": ["type", "names"],
|
|
"additionalProperties": false
|
|
},
|
|
"Integration.Method": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Integration.OAuthMethod"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Integration.KeyMethod"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Integration.EnvMethod"
|
|
}
|
|
]
|
|
},
|
|
"Connection.CredentialInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["credential"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["type", "id", "label"],
|
|
"additionalProperties": false
|
|
},
|
|
"Connection.EnvInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["env"]
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["type", "name"],
|
|
"additionalProperties": false
|
|
},
|
|
"Connection.Info": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Connection.CredentialInfo"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Connection.EnvInfo"
|
|
}
|
|
]
|
|
},
|
|
"Integration.Info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"methods": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Integration.Method"
|
|
}
|
|
},
|
|
"connections": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Connection.Info"
|
|
}
|
|
}
|
|
},
|
|
"required": ["id", "name", "methods", "connections"],
|
|
"additionalProperties": false
|
|
},
|
|
"Integration.Attempt": {
|
|
"type": "object",
|
|
"properties": {
|
|
"attemptID": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"instructions": {
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": ["auto", "code"]
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
},
|
|
"expires": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["created", "expires"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["attemptID", "url", "instructions", "mode", "time"],
|
|
"additionalProperties": false
|
|
},
|
|
"Integration.AttemptStatus": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["pending"]
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
},
|
|
"expires": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["created", "expires"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["status", "time"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["complete"]
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
},
|
|
"expires": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["created", "expires"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["status", "time"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["failed"]
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
},
|
|
"expires": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["created", "expires"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["status", "message", "time"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["expired"]
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
},
|
|
"expires": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["created", "expires"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["status", "time"],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
},
|
|
"Mcp.Status.Connected": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["connected"]
|
|
}
|
|
},
|
|
"required": ["status"],
|
|
"additionalProperties": false
|
|
},
|
|
"Mcp.Status.Disconnected": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["disconnected"]
|
|
}
|
|
},
|
|
"required": ["status"],
|
|
"additionalProperties": false
|
|
},
|
|
"Mcp.Status.Disabled": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["disabled"]
|
|
}
|
|
},
|
|
"required": ["status"],
|
|
"additionalProperties": false
|
|
},
|
|
"Mcp.Status.Failed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["failed"]
|
|
},
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["status", "error"],
|
|
"additionalProperties": false
|
|
},
|
|
"Mcp.Status.NeedsAuth": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["needs_auth"]
|
|
}
|
|
},
|
|
"required": ["status"],
|
|
"additionalProperties": false
|
|
},
|
|
"Mcp.Status.NeedsClientRegistration": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["needs_client_registration"]
|
|
},
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["status", "error"],
|
|
"additionalProperties": false
|
|
},
|
|
"Mcp.Server": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Mcp.Status.Connected"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Mcp.Status.Disconnected"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Mcp.Status.Disabled"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Mcp.Status.Failed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Mcp.Status.NeedsAuth"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Mcp.Status.NeedsClientRegistration"
|
|
}
|
|
]
|
|
},
|
|
"integrationID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["name", "status"],
|
|
"additionalProperties": false
|
|
},
|
|
"Project.Current": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"directory": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "directory"],
|
|
"additionalProperties": false
|
|
},
|
|
"Project.Directory": {
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"type": "string"
|
|
},
|
|
"strategy": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["directory"],
|
|
"additionalProperties": false
|
|
},
|
|
"Project.Directories": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Project.Directory"
|
|
}
|
|
},
|
|
"Form.Metadata": {
|
|
"type": "object"
|
|
},
|
|
"Form.When": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"op": {
|
|
"type": "string",
|
|
"enum": ["eq", "neq"]
|
|
},
|
|
"value": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "boolean"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["key", "op", "value"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.Option": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string"
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["value", "label"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.StringField": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"required": {
|
|
"type": "boolean"
|
|
},
|
|
"when": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Form.When"
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["string"]
|
|
},
|
|
"format": {
|
|
"type": "string",
|
|
"enum": ["email", "uri", "date", "date-time"]
|
|
},
|
|
"minLength": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"maxLength": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"pattern": {
|
|
"type": "string"
|
|
},
|
|
"placeholder": {
|
|
"type": "string"
|
|
},
|
|
"default": {
|
|
"type": "string"
|
|
},
|
|
"options": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Form.Option"
|
|
}
|
|
},
|
|
"custom": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["key", "type"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.NumberField": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"required": {
|
|
"type": "boolean"
|
|
},
|
|
"when": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Form.When"
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["number"]
|
|
},
|
|
"minimum": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
},
|
|
"maximum": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
},
|
|
"default": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["key", "type"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.IntegerField": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"required": {
|
|
"type": "boolean"
|
|
},
|
|
"when": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Form.When"
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["integer"]
|
|
},
|
|
"minimum": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
},
|
|
"maximum": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
},
|
|
"default": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["key", "type"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.BooleanField": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"required": {
|
|
"type": "boolean"
|
|
},
|
|
"when": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Form.When"
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["boolean"]
|
|
},
|
|
"default": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["key", "type"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.MultiselectField": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"required": {
|
|
"type": "boolean"
|
|
},
|
|
"when": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Form.When"
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["multiselect"]
|
|
},
|
|
"options": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Form.Option"
|
|
}
|
|
},
|
|
"minItems": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"maxItems": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"custom": {
|
|
"type": "boolean"
|
|
},
|
|
"default": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": ["key", "type", "options"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.FormInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^frm_"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"$ref": "#/components/schemas/Form.Metadata"
|
|
},
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": ["form"]
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Form.StringField"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.NumberField"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.IntegerField"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.BooleanField"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.MultiselectField"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "mode", "fields"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.UrlInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^frm_"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"$ref": "#/components/schemas/Form.Metadata"
|
|
},
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": ["url"]
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "mode", "url"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.CreatePayload": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^frm_"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"$ref": "#/components/schemas/Form.Metadata"
|
|
},
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": ["form", "url"]
|
|
},
|
|
"fields": {
|
|
"anyOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Form.StringField"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.NumberField"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.IntegerField"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.BooleanField"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.MultiselectField"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"url": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["mode"],
|
|
"additionalProperties": false
|
|
},
|
|
"FormNotFoundError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["FormNotFoundError"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "id", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.Value": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"Form.Answer": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/Form.Value"
|
|
}
|
|
},
|
|
"Form.State": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["pending"]
|
|
}
|
|
},
|
|
"required": ["status"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["answered"]
|
|
},
|
|
"answer": {
|
|
"$ref": "#/components/schemas/Form.Answer"
|
|
}
|
|
},
|
|
"required": ["status", "answer"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["cancelled"]
|
|
}
|
|
},
|
|
"required": ["status"],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
},
|
|
"Form.Reply": {
|
|
"type": "object",
|
|
"properties": {
|
|
"answer": {
|
|
"$ref": "#/components/schemas/Form.Answer"
|
|
}
|
|
},
|
|
"required": ["answer"],
|
|
"additionalProperties": false
|
|
},
|
|
"FormAlreadySettledError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["FormAlreadySettledError"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "id", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"FormInvalidAnswerError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["FormInvalidAnswerError"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "id", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"PermissionV2.Source": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["tool"]
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["type", "messageID", "callID"],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
},
|
|
"PermissionV2.Request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^per"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"action": {
|
|
"type": "string"
|
|
},
|
|
"resources": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"save": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"source": {
|
|
"$ref": "#/components/schemas/PermissionV2.Source"
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "action", "resources"],
|
|
"additionalProperties": false
|
|
},
|
|
"PermissionSaved.Info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"projectID": {
|
|
"type": "string"
|
|
},
|
|
"action": {
|
|
"type": "string"
|
|
},
|
|
"resource": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "projectID", "action", "resource"],
|
|
"additionalProperties": false
|
|
},
|
|
"PermissionNotFoundError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["PermissionNotFoundError"]
|
|
},
|
|
"requestID": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "requestID", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"PermissionV2.Reply": {
|
|
"type": "string",
|
|
"enum": ["once", "always", "reject"]
|
|
},
|
|
"FileSystem.Entry": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["file", "directory"]
|
|
}
|
|
},
|
|
"required": ["path", "type"],
|
|
"additionalProperties": false
|
|
},
|
|
"CommandV2.Info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"template": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"$ref": "#/components/schemas/Model.Ref"
|
|
},
|
|
"subtask": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["name", "template"],
|
|
"additionalProperties": false
|
|
},
|
|
"SkillV2.Info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"slash": {
|
|
"type": "boolean"
|
|
},
|
|
"autoinvoke": {
|
|
"type": "boolean"
|
|
},
|
|
"location": {
|
|
"type": "string"
|
|
},
|
|
"content": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["name", "location", "content"],
|
|
"additionalProperties": false
|
|
},
|
|
"models-dev.refreshed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["models-dev.refreshed"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "array"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"integration.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["integration.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "array"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"integration.connection.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["integration.connection.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"integrationID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["integrationID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"catalog.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["catalog.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "array"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"agent.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["agent.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "array"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SnapshotFileDiff": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file": {
|
|
"type": "string"
|
|
},
|
|
"patch": {
|
|
"type": "string"
|
|
},
|
|
"additions": {
|
|
"type": "number"
|
|
},
|
|
"deletions": {
|
|
"type": "number"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["added", "deleted", "modified"]
|
|
}
|
|
},
|
|
"required": ["additions", "deletions"],
|
|
"additionalProperties": false
|
|
},
|
|
"PermissionAction": {
|
|
"type": "string",
|
|
"enum": ["allow", "deny", "ask"]
|
|
},
|
|
"PermissionRule": {
|
|
"type": "object",
|
|
"properties": {
|
|
"permission": {
|
|
"type": "string"
|
|
},
|
|
"pattern": {
|
|
"type": "string"
|
|
},
|
|
"action": {
|
|
"$ref": "#/components/schemas/PermissionAction"
|
|
}
|
|
},
|
|
"required": ["permission", "pattern", "action"],
|
|
"additionalProperties": false
|
|
},
|
|
"PermissionRuleset": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/PermissionRule"
|
|
}
|
|
},
|
|
"Session": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"projectID": {
|
|
"type": "string"
|
|
},
|
|
"workspaceID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^wrk"
|
|
}
|
|
]
|
|
},
|
|
"directory": {
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"parentID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"summary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"additions": {
|
|
"type": "number"
|
|
},
|
|
"deletions": {
|
|
"type": "number"
|
|
},
|
|
"files": {
|
|
"type": "number"
|
|
},
|
|
"diffs": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SnapshotFileDiff"
|
|
}
|
|
}
|
|
},
|
|
"required": ["additions", "deletions", "files"],
|
|
"additionalProperties": false
|
|
},
|
|
"cost": {
|
|
"type": "number"
|
|
},
|
|
"tokens": {
|
|
"type": "object",
|
|
"properties": {
|
|
"input": {
|
|
"type": "number"
|
|
},
|
|
"output": {
|
|
"type": "number"
|
|
},
|
|
"reasoning": {
|
|
"type": "number"
|
|
},
|
|
"cache": {
|
|
"type": "object",
|
|
"properties": {
|
|
"read": {
|
|
"type": "number"
|
|
},
|
|
"write": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["read", "write"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["input", "output", "reasoning", "cache"],
|
|
"additionalProperties": false
|
|
},
|
|
"share": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["url"],
|
|
"additionalProperties": false
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"providerID": {
|
|
"type": "string"
|
|
},
|
|
"variant": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "providerID"],
|
|
"additionalProperties": false
|
|
},
|
|
"version": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"updated": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"compacting": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"archived": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["created", "updated"],
|
|
"additionalProperties": false
|
|
},
|
|
"permission": {
|
|
"$ref": "#/components/schemas/PermissionRuleset"
|
|
},
|
|
"revert": {
|
|
"type": "object",
|
|
"properties": {
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"partID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^prt"
|
|
}
|
|
]
|
|
},
|
|
"snapshot": {
|
|
"type": "string"
|
|
},
|
|
"diff": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["messageID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "slug", "projectID", "directory", "title", "version", "time"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.created": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.created"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"info": {
|
|
"$ref": "#/components/schemas/Session"
|
|
}
|
|
},
|
|
"required": ["sessionID", "info"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"info": {
|
|
"$ref": "#/components/schemas/Session"
|
|
}
|
|
},
|
|
"required": ["sessionID", "info"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.deleted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.deleted"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"info": {
|
|
"$ref": "#/components/schemas/Session"
|
|
}
|
|
},
|
|
"required": ["sessionID", "info"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"JSONSchema": {
|
|
"type": "object"
|
|
},
|
|
"OutputFormat": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["text"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["json_schema"]
|
|
},
|
|
"schema": {
|
|
"$ref": "#/components/schemas/JSONSchema"
|
|
},
|
|
"retryCount": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["type", "schema"],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
},
|
|
"UserMessage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"enum": ["user"]
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["created"],
|
|
"additionalProperties": false
|
|
},
|
|
"format": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/OutputFormat"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"summary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"body": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"diffs": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SnapshotFileDiff"
|
|
}
|
|
}
|
|
},
|
|
"required": ["diffs"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": "object",
|
|
"properties": {
|
|
"providerID": {
|
|
"type": "string"
|
|
},
|
|
"modelID": {
|
|
"type": "string"
|
|
},
|
|
"variant": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["providerID", "modelID"],
|
|
"additionalProperties": false
|
|
},
|
|
"system": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"tools": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "role", "time", "agent", "model"],
|
|
"additionalProperties": false
|
|
},
|
|
"ProviderAuthError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["ProviderAuthError"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"providerID": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["providerID", "message"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["name", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"UnknownError1": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["UnknownError"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"ref": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["message"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["name", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"MessageOutputLengthError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["MessageOutputLengthError"]
|
|
},
|
|
"data": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "array"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["name", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"MessageAbortedError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["MessageAbortedError"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["message"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["name", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"StructuredOutputError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["StructuredOutputError"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"retries": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["message", "retries"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["name", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"ContextOverflowError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["ContextOverflowError"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"responseBody": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["message"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["name", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"ContentFilterError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["ContentFilterError"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["message"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["name", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"APIError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["APIError"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"statusCode": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"isRetryable": {
|
|
"type": "boolean"
|
|
},
|
|
"responseHeaders": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"responseBody": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["message", "isRetryable"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["name", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"AssistantMessage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"enum": ["assistant"]
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"completed": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["created"],
|
|
"additionalProperties": false
|
|
},
|
|
"error": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ProviderAuthError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/UnknownError1"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/MessageOutputLengthError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/MessageAbortedError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/StructuredOutputError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/ContextOverflowError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/ContentFilterError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/APIError"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"parentID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"modelID": {
|
|
"type": "string"
|
|
},
|
|
"providerID": {
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"type": "string"
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cwd": {
|
|
"type": "string"
|
|
},
|
|
"root": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["cwd", "root"],
|
|
"additionalProperties": false
|
|
},
|
|
"summary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"cost": {
|
|
"type": "number"
|
|
},
|
|
"tokens": {
|
|
"type": "object",
|
|
"properties": {
|
|
"total": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"input": {
|
|
"type": "number"
|
|
},
|
|
"output": {
|
|
"type": "number"
|
|
},
|
|
"reasoning": {
|
|
"type": "number"
|
|
},
|
|
"cache": {
|
|
"type": "object",
|
|
"properties": {
|
|
"read": {
|
|
"type": "number"
|
|
},
|
|
"write": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["read", "write"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["input", "output", "reasoning", "cache"],
|
|
"additionalProperties": false
|
|
},
|
|
"structured": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"variant": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"finish": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"role",
|
|
"time",
|
|
"parentID",
|
|
"modelID",
|
|
"providerID",
|
|
"mode",
|
|
"agent",
|
|
"path",
|
|
"cost",
|
|
"tokens"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"Message": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserMessage"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/AssistantMessage"
|
|
}
|
|
]
|
|
},
|
|
"message.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["message.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"info": {
|
|
"$ref": "#/components/schemas/Message"
|
|
}
|
|
},
|
|
"required": ["sessionID", "info"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"message.removed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["message.removed"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["sessionID", "messageID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"TextPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^prt"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["text"]
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"synthetic": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"ignored": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"time": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["start"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "messageID", "type", "text"],
|
|
"additionalProperties": false
|
|
},
|
|
"SubtaskPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^prt"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["subtask"]
|
|
},
|
|
"prompt": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"providerID": {
|
|
"type": "string"
|
|
},
|
|
"modelID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["providerID", "modelID"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"command": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "messageID", "type", "prompt", "description", "agent"],
|
|
"additionalProperties": false
|
|
},
|
|
"ReasoningPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^prt"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["reasoning"]
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["start"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "messageID", "type", "text", "time"],
|
|
"additionalProperties": false
|
|
},
|
|
"FilePartSourceText": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string"
|
|
},
|
|
"start": {
|
|
"type": "number"
|
|
},
|
|
"end": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["value", "start", "end"],
|
|
"additionalProperties": false
|
|
},
|
|
"FileSource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"$ref": "#/components/schemas/FilePartSourceText"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["file"]
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["text", "type", "path"],
|
|
"additionalProperties": false
|
|
},
|
|
"Range": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "object",
|
|
"properties": {
|
|
"line": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"character": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["line", "character"],
|
|
"additionalProperties": false
|
|
},
|
|
"end": {
|
|
"type": "object",
|
|
"properties": {
|
|
"line": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"character": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["line", "character"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["start", "end"],
|
|
"additionalProperties": false
|
|
},
|
|
"SymbolSource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"$ref": "#/components/schemas/FilePartSourceText"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["symbol"]
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"range": {
|
|
"$ref": "#/components/schemas/Range"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["text", "type", "path", "range", "name", "kind"],
|
|
"additionalProperties": false
|
|
},
|
|
"ResourceSource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"$ref": "#/components/schemas/FilePartSourceText"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["resource"]
|
|
},
|
|
"clientName": {
|
|
"type": "string"
|
|
},
|
|
"uri": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["text", "type", "clientName", "uri"],
|
|
"additionalProperties": false
|
|
},
|
|
"FilePartSource": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/FileSource"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SymbolSource"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/ResourceSource"
|
|
}
|
|
]
|
|
},
|
|
"FilePart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^prt"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["file"]
|
|
},
|
|
"mime": {
|
|
"type": "string"
|
|
},
|
|
"filename": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/FilePartSource"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "messageID", "type", "mime", "url"],
|
|
"additionalProperties": false
|
|
},
|
|
"ToolStatePending": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["pending"]
|
|
},
|
|
"input": {
|
|
"type": "object"
|
|
},
|
|
"raw": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["status", "input", "raw"],
|
|
"additionalProperties": false
|
|
},
|
|
"ToolStateRunning": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["running"]
|
|
},
|
|
"input": {
|
|
"type": "object"
|
|
},
|
|
"title": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["start"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["status", "input", "time"],
|
|
"additionalProperties": false
|
|
},
|
|
"ToolStateCompleted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["completed"]
|
|
},
|
|
"input": {
|
|
"type": "object"
|
|
},
|
|
"output": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"compacted": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["start", "end"],
|
|
"additionalProperties": false
|
|
},
|
|
"attachments": {
|
|
"anyOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/FilePart"
|
|
}
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["status", "input", "output", "title", "metadata", "time"],
|
|
"additionalProperties": false
|
|
},
|
|
"ToolStateError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["error"]
|
|
},
|
|
"input": {
|
|
"type": "object"
|
|
},
|
|
"error": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["start", "end"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["status", "input", "error", "time"],
|
|
"additionalProperties": false
|
|
},
|
|
"ToolState": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ToolStatePending"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/ToolStateRunning"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/ToolStateCompleted"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/ToolStateError"
|
|
}
|
|
]
|
|
},
|
|
"ToolPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^prt"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["tool"]
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"tool": {
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"$ref": "#/components/schemas/ToolState"
|
|
},
|
|
"metadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "messageID", "type", "callID", "tool", "state"],
|
|
"additionalProperties": false
|
|
},
|
|
"StepStartPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^prt"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["step-start"]
|
|
},
|
|
"snapshot": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "messageID", "type"],
|
|
"additionalProperties": false
|
|
},
|
|
"StepFinishPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^prt"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["step-finish"]
|
|
},
|
|
"reason": {
|
|
"type": "string"
|
|
},
|
|
"snapshot": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"cost": {
|
|
"type": "number"
|
|
},
|
|
"tokens": {
|
|
"type": "object",
|
|
"properties": {
|
|
"total": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"input": {
|
|
"type": "number"
|
|
},
|
|
"output": {
|
|
"type": "number"
|
|
},
|
|
"reasoning": {
|
|
"type": "number"
|
|
},
|
|
"cache": {
|
|
"type": "object",
|
|
"properties": {
|
|
"read": {
|
|
"type": "number"
|
|
},
|
|
"write": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["read", "write"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["input", "output", "reasoning", "cache"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "messageID", "type", "reason", "cost", "tokens"],
|
|
"additionalProperties": false
|
|
},
|
|
"SnapshotPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^prt"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["snapshot"]
|
|
},
|
|
"snapshot": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "messageID", "type", "snapshot"],
|
|
"additionalProperties": false
|
|
},
|
|
"PatchPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^prt"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["patch"]
|
|
},
|
|
"hash": {
|
|
"type": "string"
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "messageID", "type", "hash", "files"],
|
|
"additionalProperties": false
|
|
},
|
|
"AgentPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^prt"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["agent"]
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string"
|
|
},
|
|
"start": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"end": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["value", "start", "end"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "messageID", "type", "name"],
|
|
"additionalProperties": false
|
|
},
|
|
"RetryPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^prt"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["retry"]
|
|
},
|
|
"attempt": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"error": {
|
|
"$ref": "#/components/schemas/APIError"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["created"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "messageID", "type", "attempt", "error", "time"],
|
|
"additionalProperties": false
|
|
},
|
|
"CompactionPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^prt"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["compaction"]
|
|
},
|
|
"auto": {
|
|
"type": "boolean"
|
|
},
|
|
"overflow": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"tail_start_id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "messageID", "type", "auto"],
|
|
"additionalProperties": false
|
|
},
|
|
"Part": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/TextPart"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SubtaskPart"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/ReasoningPart"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/FilePart"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/ToolPart"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/StepStartPart"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/StepFinishPart"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/SnapshotPart"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/PatchPart"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/AgentPart"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/RetryPart"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/CompactionPart"
|
|
}
|
|
]
|
|
},
|
|
"message.part.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["message.part.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"part": {
|
|
"$ref": "#/components/schemas/Part"
|
|
},
|
|
"time": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["sessionID", "part", "time"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"message.part.removed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["message.part.removed"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"partID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^prt"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["sessionID", "messageID", "partID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.execution.settled": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.execution.settled"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"outcome": {
|
|
"type": "string",
|
|
"enum": ["success", "failure", "interrupted"]
|
|
},
|
|
"error": {
|
|
"$ref": "#/components/schemas/Session.Error.Unknown"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "outcome"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.text.delta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.text.delta"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"textID": {
|
|
"type": "string"
|
|
},
|
|
"delta": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "textID", "delta"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.reasoning.delta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.reasoning.delta"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"reasoningID": {
|
|
"type": "string"
|
|
},
|
|
"delta": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "reasoningID", "delta"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.tool.input.delta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.tool.input.delta"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"assistantMessageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"delta": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "assistantMessageID", "callID", "delta"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.next.compaction.delta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.compaction.delta"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg_"
|
|
}
|
|
]
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "messageID", "text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"file.edited": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["file.edited"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["file"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"reference.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["reference.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "array"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"permission.v2.asked": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["permission.v2.asked"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^per"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"action": {
|
|
"type": "string"
|
|
},
|
|
"resources": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"save": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"source": {
|
|
"$ref": "#/components/schemas/PermissionV2.Source"
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "action", "resources"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"permission.v2.replied": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["permission.v2.replied"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"requestID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^per"
|
|
}
|
|
]
|
|
},
|
|
"reply": {
|
|
"$ref": "#/components/schemas/PermissionV2.Reply"
|
|
}
|
|
},
|
|
"required": ["sessionID", "requestID", "reply"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"plugin.added": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["plugin.added"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"project.directories.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["project.directories.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"projectID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["projectID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"command.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["command.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "array"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"skill.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["skill.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "array"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"file.watcher.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["file.watcher.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file": {
|
|
"type": "string"
|
|
},
|
|
"event": {
|
|
"type": "string",
|
|
"enum": ["add", "change", "unlink"]
|
|
}
|
|
},
|
|
"required": ["file", "event"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"Pty": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^pty"
|
|
}
|
|
]
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"command": {
|
|
"type": "string"
|
|
},
|
|
"args": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"cwd": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["running", "exited"]
|
|
},
|
|
"pid": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"exitCode": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "title", "command", "args", "cwd", "status", "pid"],
|
|
"additionalProperties": false
|
|
},
|
|
"pty.created": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["pty.created"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"info": {
|
|
"$ref": "#/components/schemas/Pty"
|
|
}
|
|
},
|
|
"required": ["info"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"pty.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["pty.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"info": {
|
|
"$ref": "#/components/schemas/Pty"
|
|
}
|
|
},
|
|
"required": ["info"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"pty.exited": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["pty.exited"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^pty"
|
|
}
|
|
]
|
|
},
|
|
"exitCode": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "exitCode"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"pty.deleted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["pty.deleted"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^pty"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"Shell": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^sh_"
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["running", "exited", "timeout", "killed"]
|
|
},
|
|
"command": {
|
|
"type": "string"
|
|
},
|
|
"cwd": {
|
|
"type": "string"
|
|
},
|
|
"shell": {
|
|
"type": "string"
|
|
},
|
|
"file": {
|
|
"type": "string"
|
|
},
|
|
"pid": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"exit": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"started": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
"completed": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["started"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "status", "command", "cwd", "shell", "file", "metadata", "time"],
|
|
"additionalProperties": false
|
|
},
|
|
"shell.created": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["shell.created"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"info": {
|
|
"$ref": "#/components/schemas/Shell"
|
|
}
|
|
},
|
|
"required": ["info"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"shell.exited": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["shell.exited"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^sh_"
|
|
}
|
|
]
|
|
},
|
|
"exit": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["running", "exited", "timeout", "killed"]
|
|
}
|
|
},
|
|
"required": ["id", "status"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"shell.deleted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["shell.deleted"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^sh_"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"QuestionV2.Option": {
|
|
"type": "object",
|
|
"properties": {
|
|
"label": {
|
|
"type": "string",
|
|
"description": "Display text (1-5 words, concise)"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "Explanation of choice"
|
|
}
|
|
},
|
|
"required": ["label", "description"],
|
|
"additionalProperties": false
|
|
},
|
|
"QuestionV2.Info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"question": {
|
|
"type": "string",
|
|
"description": "Complete question"
|
|
},
|
|
"header": {
|
|
"type": "string",
|
|
"description": "Very short label (max 30 chars)"
|
|
},
|
|
"options": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/QuestionV2.Option"
|
|
},
|
|
"description": "Available choices"
|
|
},
|
|
"multiple": {
|
|
"type": "boolean"
|
|
},
|
|
"custom": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["question", "header", "options"],
|
|
"additionalProperties": false
|
|
},
|
|
"QuestionV2.Tool": {
|
|
"type": "object",
|
|
"properties": {
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["messageID", "callID"],
|
|
"additionalProperties": false
|
|
},
|
|
"question.v2.asked": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["question.v2.asked"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^que"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"questions": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/QuestionV2.Info"
|
|
},
|
|
"description": "Questions to ask"
|
|
},
|
|
"tool": {
|
|
"$ref": "#/components/schemas/QuestionV2.Tool"
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "questions"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"QuestionV2.Answer": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"question.v2.replied": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["question.v2.replied"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"requestID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^que"
|
|
}
|
|
]
|
|
},
|
|
"answers": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/QuestionV2.Answer"
|
|
}
|
|
}
|
|
},
|
|
"required": ["sessionID", "requestID", "answers"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"question.v2.rejected": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["question.v2.rejected"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"requestID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^que"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["sessionID", "requestID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.Metadata1": {
|
|
"type": "object"
|
|
},
|
|
"Form.When1": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"op": {
|
|
"type": "string",
|
|
"enum": ["eq", "neq"]
|
|
},
|
|
"value": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "boolean"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["key", "op", "value"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.StringField1": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"required": {
|
|
"type": "boolean"
|
|
},
|
|
"when": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Form.When1"
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["string"]
|
|
},
|
|
"format": {
|
|
"type": "string",
|
|
"enum": ["email", "uri", "date", "date-time"]
|
|
},
|
|
"minLength": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"maxLength": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"pattern": {
|
|
"type": "string"
|
|
},
|
|
"placeholder": {
|
|
"type": "string"
|
|
},
|
|
"default": {
|
|
"type": "string"
|
|
},
|
|
"options": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Form.Option"
|
|
}
|
|
},
|
|
"custom": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["key", "type"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.NumberField1": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"required": {
|
|
"type": "boolean"
|
|
},
|
|
"when": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Form.When1"
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["number"]
|
|
},
|
|
"minimum": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
"maximum": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
"default": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["key", "type"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.IntegerField1": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"required": {
|
|
"type": "boolean"
|
|
},
|
|
"when": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Form.When1"
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["integer"]
|
|
},
|
|
"minimum": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
"maximum": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
"default": {
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["key", "type"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.BooleanField1": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"required": {
|
|
"type": "boolean"
|
|
},
|
|
"when": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Form.When1"
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["boolean"]
|
|
},
|
|
"default": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["key", "type"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.MultiselectField1": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"required": {
|
|
"type": "boolean"
|
|
},
|
|
"when": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Form.When1"
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["multiselect"]
|
|
},
|
|
"options": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Form.Option"
|
|
}
|
|
},
|
|
"minItems": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"maxItems": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"custom": {
|
|
"type": "boolean"
|
|
},
|
|
"default": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": ["key", "type", "options"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.FormInfo1": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^frm_"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"$ref": "#/components/schemas/Form.Metadata1"
|
|
},
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": ["form"]
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Form.StringField1"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.NumberField1"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.IntegerField1"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.BooleanField1"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.MultiselectField1"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "mode", "fields"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.UrlInfo1": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^frm_"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"$ref": "#/components/schemas/Form.Metadata1"
|
|
},
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": ["url"]
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "mode", "url"],
|
|
"additionalProperties": false
|
|
},
|
|
"form.created": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["form.created"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"form": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Form.FormInfo1"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Form.UrlInfo1"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["form"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"Form.Value1": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"Form.Answer1": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/Form.Value1"
|
|
}
|
|
},
|
|
"form.replied": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["form.replied"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^frm_"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"answer": {
|
|
"$ref": "#/components/schemas/Form.Answer1"
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "answer"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"form.cancelled": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["form.cancelled"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^frm_"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "sessionID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"Todo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"content": {
|
|
"type": "string",
|
|
"description": "Brief description of the task"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"description": "Current status of the task: pending, in_progress, completed, cancelled"
|
|
},
|
|
"priority": {
|
|
"type": "string",
|
|
"description": "Priority level of the task: high, medium, low"
|
|
}
|
|
},
|
|
"required": ["content", "status", "priority"],
|
|
"additionalProperties": false
|
|
},
|
|
"todo.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["todo.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"todos": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Todo"
|
|
}
|
|
}
|
|
},
|
|
"required": ["sessionID", "todos"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SessionStatus": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["idle"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["retry"]
|
|
},
|
|
"attempt": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"action": {
|
|
"type": "object",
|
|
"properties": {
|
|
"reason": {
|
|
"type": "string"
|
|
},
|
|
"provider": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"link": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["reason", "provider", "title", "message", "label"],
|
|
"additionalProperties": false
|
|
},
|
|
"next": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["type", "attempt", "message", "next"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["busy"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
},
|
|
"session.status": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.status"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"$ref": "#/components/schemas/SessionStatus"
|
|
}
|
|
},
|
|
"required": ["sessionID", "status"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.idle": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.idle"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["sessionID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"tui.prompt.append": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["tui.prompt.append"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"tui.command.execute": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["tui.command.execute"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"session.list",
|
|
"session.new",
|
|
"session.share",
|
|
"session.interrupt",
|
|
"session.background",
|
|
"session.compact",
|
|
"session.page.up",
|
|
"session.page.down",
|
|
"session.line.up",
|
|
"session.line.down",
|
|
"session.half.page.up",
|
|
"session.half.page.down",
|
|
"session.first",
|
|
"session.last",
|
|
"prompt.clear",
|
|
"prompt.submit",
|
|
"agent.cycle"
|
|
]
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["command"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"tui.toast.show": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["tui.toast.show"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"variant": {
|
|
"type": "string",
|
|
"enum": ["info", "success", "warning", "error"]
|
|
},
|
|
"duration": {
|
|
"anyOf": [
|
|
{
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"exclusiveMinimum": 0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["message", "variant"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"tui.session.select": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["tui.session.select"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses",
|
|
"description": "Session ID to navigate to"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["sessionID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"installation.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["installation.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["version"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"installation.update-available": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["installation.update-available"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["version"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"vcs.branch.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["vcs.branch.updated"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"branch": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"mcp.status.changed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["mcp.status.changed"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"server": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["server"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"permission.asked": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["permission.asked"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^per"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"permission": {
|
|
"type": "string"
|
|
},
|
|
"patterns": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"always": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"tool": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["messageID", "callID"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "permission", "patterns", "metadata", "always"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"permission.replied": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["permission.replied"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"requestID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^per"
|
|
}
|
|
]
|
|
},
|
|
"reply": {
|
|
"type": "string",
|
|
"enum": ["once", "always", "reject"]
|
|
}
|
|
},
|
|
"required": ["sessionID", "requestID", "reply"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"QuestionOption": {
|
|
"type": "object",
|
|
"properties": {
|
|
"label": {
|
|
"type": "string",
|
|
"description": "Display text (1-5 words, concise)"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "Explanation of choice"
|
|
}
|
|
},
|
|
"required": ["label", "description"],
|
|
"additionalProperties": false
|
|
},
|
|
"QuestionInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"question": {
|
|
"type": "string",
|
|
"description": "Complete question"
|
|
},
|
|
"header": {
|
|
"type": "string",
|
|
"description": "Very short label (max 30 chars)"
|
|
},
|
|
"options": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/QuestionOption"
|
|
},
|
|
"description": "Available choices"
|
|
},
|
|
"multiple": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Allow selecting multiple choices"
|
|
},
|
|
"custom": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Allow typing a custom answer (default: true)"
|
|
}
|
|
},
|
|
"required": ["question", "header", "options"],
|
|
"additionalProperties": false
|
|
},
|
|
"QuestionTool": {
|
|
"type": "object",
|
|
"properties": {
|
|
"messageID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^msg"
|
|
}
|
|
]
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["messageID", "callID"],
|
|
"additionalProperties": false
|
|
},
|
|
"question.asked": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["question.asked"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^que"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"questions": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/QuestionInfo"
|
|
},
|
|
"description": "Questions to ask"
|
|
},
|
|
"tool": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/QuestionTool"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "questions"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"QuestionAnswer": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"question.replied": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["question.replied"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"requestID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^que"
|
|
}
|
|
]
|
|
},
|
|
"answers": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/QuestionAnswer"
|
|
}
|
|
}
|
|
},
|
|
"required": ["sessionID", "requestID", "answers"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"question.rejected": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["question.rejected"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"requestID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^que"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["sessionID", "requestID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"session.error": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.error"]
|
|
},
|
|
"durable": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
"location": {
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"error": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ProviderAuthError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/UnknownError1"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/MessageOutputLengthError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/MessageAbortedError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/StructuredOutputError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/ContextOverflowError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/ContentFilterError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/APIError"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"V2Event.server.connected": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^evt_"
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"durable": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"version": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["aggregateID", "seq", "version"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"location": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Location.Ref"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["server.connected"]
|
|
},
|
|
"data": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "array"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["id", "type", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"V2Event": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/models-dev.refreshed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/integration.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/integration.connection.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/catalog.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/agent.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.created"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.deleted"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/message.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/message.removed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/message.part.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/message.part.removed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.agent.switched"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.model.switched"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.moved"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.renamed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.forked"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.prompted"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.prompt.admitted"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.execution.settled"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.context.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.synthetic"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.skill.activated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.shell.started"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.shell.ended"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.step.started"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.step.ended"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.step.failed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.text.started"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.text.delta"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.text.ended"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.reasoning.started"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.reasoning.delta"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.reasoning.ended"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.tool.input.started"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.tool.input.delta"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.tool.input.ended"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.tool.called"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.tool.progress"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.tool.success"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.tool.failed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.retried"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.compaction.started"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.compaction.delta"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.compaction.ended"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.revert.staged"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.revert.cleared"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.next.revert.committed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/file.edited"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/reference.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/permission.v2.asked"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/permission.v2.replied"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/plugin.added"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/project.directories.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/command.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/skill.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/file.watcher.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/pty.created"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/pty.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/pty.exited"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/pty.deleted"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/shell.created"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/shell.exited"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/shell.deleted"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/question.v2.asked"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/question.v2.replied"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/question.v2.rejected"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/form.created"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/form.replied"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/form.cancelled"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/todo.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.status"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.idle"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/tui.prompt.append"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/tui.command.execute"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/tui.toast.show"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/tui.session.select"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/installation.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/installation.update-available"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/vcs.branch.updated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/mcp.status.changed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/permission.asked"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/permission.replied"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/question.asked"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/question.replied"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/question.rejected"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/session.error"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/V2Event.server.connected"
|
|
}
|
|
]
|
|
},
|
|
"V2EventStream": {
|
|
"type": "string",
|
|
"contentSchema": {
|
|
"$ref": "#/components/schemas/V2Event"
|
|
},
|
|
"contentMediaType": "application/json"
|
|
},
|
|
"EventLog.Hint": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["log.hint"]
|
|
},
|
|
"aggregateID": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["type", "aggregateID", "seq"],
|
|
"additionalProperties": false,
|
|
"description": "Payload-free change hint: the aggregate's durable log advanced to at least seq. Hints coalesce under backpressure (latest per aggregate) and are never a delivery guarantee."
|
|
},
|
|
"EventLog.SweepRequired": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["log.sweep_required"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Hints may have been lost; treat every aggregate as potentially dirty and recover via bounded sweep plus durable log reads. Emitted first on every (re)subscribe."
|
|
},
|
|
"EventLog.Change": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/EventLog.Hint"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventLog.SweepRequired"
|
|
}
|
|
]
|
|
},
|
|
"EventLog.ChangeStream": {
|
|
"type": "string",
|
|
"contentSchema": {
|
|
"$ref": "#/components/schemas/EventLog.Change"
|
|
},
|
|
"contentMediaType": "application/json"
|
|
},
|
|
"PtyNotFoundError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["PtyNotFoundError"]
|
|
},
|
|
"ptyID": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "ptyID", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"PtyTicket.ConnectToken": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ticket": {
|
|
"type": "string"
|
|
},
|
|
"expires_in": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"exclusiveMinimum": 0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["ticket", "expires_in"],
|
|
"additionalProperties": false
|
|
},
|
|
"ForbiddenError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["ForbiddenError"]
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"Shell1": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^sh_"
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["running", "exited", "timeout", "killed"]
|
|
},
|
|
"command": {
|
|
"type": "string"
|
|
},
|
|
"cwd": {
|
|
"type": "string"
|
|
},
|
|
"shell": {
|
|
"type": "string"
|
|
},
|
|
"file": {
|
|
"type": "string"
|
|
},
|
|
"pid": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"exit": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"started": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
},
|
|
"completed": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["NaN"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity"]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["-Infinity"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": ["Infinity", "-Infinity", "NaN"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["started"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["id", "status", "command", "cwd", "shell", "file", "metadata", "time"],
|
|
"additionalProperties": false
|
|
},
|
|
"ShellNotFoundError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["ShellNotFoundError"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "id", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"QuestionV2.Request": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^que"
|
|
}
|
|
]
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"pattern": "^ses"
|
|
}
|
|
]
|
|
},
|
|
"questions": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/QuestionV2.Info"
|
|
},
|
|
"description": "Questions to ask"
|
|
},
|
|
"tool": {
|
|
"$ref": "#/components/schemas/QuestionV2.Tool"
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "questions"],
|
|
"additionalProperties": false
|
|
},
|
|
"QuestionV2.Reply": {
|
|
"type": "object",
|
|
"properties": {
|
|
"answers": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/QuestionV2.Answer"
|
|
},
|
|
"description": "User answers in order of questions (each answer is an array of selected labels)"
|
|
}
|
|
},
|
|
"required": ["answers"],
|
|
"additionalProperties": false
|
|
},
|
|
"QuestionNotFoundError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["QuestionNotFoundError"]
|
|
},
|
|
"requestID": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["_tag", "requestID", "message"],
|
|
"additionalProperties": false
|
|
},
|
|
"Reference.LocalSource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["local"]
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"hidden": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["type", "path"],
|
|
"additionalProperties": false
|
|
},
|
|
"Reference.GitSource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["git"]
|
|
},
|
|
"repository": {
|
|
"type": "string"
|
|
},
|
|
"branch": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"hidden": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["type", "repository"],
|
|
"additionalProperties": false
|
|
},
|
|
"Reference.Source": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Reference.LocalSource"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Reference.GitSource"
|
|
}
|
|
]
|
|
},
|
|
"Reference.Info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"hidden": {
|
|
"type": "boolean"
|
|
},
|
|
"source": {
|
|
"$ref": "#/components/schemas/Reference.Source"
|
|
}
|
|
},
|
|
"required": ["name", "path", "source"],
|
|
"additionalProperties": false
|
|
},
|
|
"ProjectCopy.Copy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["directory"],
|
|
"additionalProperties": false
|
|
},
|
|
"ProjectCopyError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["ProjectCopyError"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"forceRequired": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["message"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["name", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"Vcs.FileStatus": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file": {
|
|
"type": "string"
|
|
},
|
|
"additions": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"deletions": {
|
|
"type": "integer",
|
|
"allOf": [
|
|
{
|
|
"minimum": 0
|
|
}
|
|
]
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["added", "deleted", "modified"]
|
|
}
|
|
},
|
|
"required": ["file", "additions", "deletions", "status"],
|
|
"additionalProperties": false
|
|
},
|
|
"Vcs.Mode": {
|
|
"type": "string",
|
|
"enum": ["working", "branch"]
|
|
}
|
|
},
|
|
"securitySchemes": {}
|
|
},
|
|
"security": [],
|
|
"tags": [
|
|
{
|
|
"name": "server.health"
|
|
},
|
|
{
|
|
"name": "server.location"
|
|
},
|
|
{
|
|
"name": "server.agent"
|
|
},
|
|
{
|
|
"name": "plugins",
|
|
"description": "Experimental plugin routes."
|
|
},
|
|
{
|
|
"name": "sessions",
|
|
"description": "Experimental session routes."
|
|
},
|
|
{
|
|
"name": "messages",
|
|
"description": "Experimental message routes."
|
|
},
|
|
{
|
|
"name": "models",
|
|
"description": "Experimental model routes."
|
|
},
|
|
{
|
|
"name": "generate",
|
|
"description": "Experimental one-shot generation routes."
|
|
},
|
|
{
|
|
"name": "providers",
|
|
"description": "Experimental provider routes."
|
|
},
|
|
{
|
|
"name": "integrations",
|
|
"description": "Integration discovery and authentication routes."
|
|
},
|
|
{
|
|
"name": "mcp",
|
|
"description": "MCP server status routes."
|
|
},
|
|
{
|
|
"name": "server.credential"
|
|
},
|
|
{
|
|
"name": "projects",
|
|
"description": "Location-scoped project routes."
|
|
},
|
|
{
|
|
"name": "forms",
|
|
"description": "Session form routes."
|
|
},
|
|
{
|
|
"name": "permissions",
|
|
"description": "Experimental permission routes."
|
|
},
|
|
{
|
|
"name": "filesystem",
|
|
"description": "Experimental location-scoped filesystem routes."
|
|
},
|
|
{
|
|
"name": "commands",
|
|
"description": "Experimental command routes."
|
|
},
|
|
{
|
|
"name": "skills",
|
|
"description": "Experimental skill routes."
|
|
},
|
|
{
|
|
"name": "events",
|
|
"description": "Experimental event stream routes."
|
|
},
|
|
{
|
|
"name": "pty",
|
|
"description": "Experimental location-scoped PTY routes."
|
|
},
|
|
{
|
|
"name": "shell",
|
|
"description": "Experimental location-scoped shell command routes."
|
|
},
|
|
{
|
|
"name": "session questions",
|
|
"description": "Experimental session question routes."
|
|
},
|
|
{
|
|
"name": "reference",
|
|
"description": "Location-scoped project references."
|
|
},
|
|
{
|
|
"name": "projectCopy",
|
|
"description": "Project copy management routes."
|
|
},
|
|
{
|
|
"name": "vcs",
|
|
"description": "Location-scoped version control routes."
|
|
}
|
|
]
|
|
}
|