diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 466df71c..2be9c43c 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0" + ".": "0.2.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..3005161b --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,20 @@ +# Changelog + +## [0.2.0](https://github.com/scaleapi/scale-agentex/compare/v0.1.0...v0.2.0) (2026-06-23) + + +### Features + +* **agent_api_keys:** one-call webhook-trigger setup endpoint ([#329](https://github.com/scaleapi/scale-agentex/issues/329)) ([9cc71fb](https://github.com/scaleapi/scale-agentex/commit/9cc71fb998d00e15734d0ad7be180e1e6f1dfdda)) +* **agentex-ui:** grow chat input vertically for multi-line prompts ([#332](https://github.com/scaleapi/scale-agentex/issues/332)) ([8c060f1](https://github.com/scaleapi/scale-agentex/commit/8c060f158e3ab4516fe9725887a9943f56b46826)) +* **task-messages:** add optional is_error to ToolResponseContent ([#331](https://github.com/scaleapi/scale-agentex/issues/331)) ([5020e96](https://github.com/scaleapi/scale-agentex/commit/5020e96f8bb689553a8b1e253c09e5750e6f80fc)) +* update task configs in agentex db on turn ([#309](https://github.com/scaleapi/scale-agentex/issues/309)) ([13eea7a](https://github.com/scaleapi/scale-agentex/commit/13eea7a68b23c169bb5e51331ee47d49ac3f11f6)) + + +### Bug Fixes + +* **authz:** grant legacy agent register principal ([#325](https://github.com/scaleapi/scale-agentex/issues/325)) ([cae5f94](https://github.com/scaleapi/scale-agentex/commit/cae5f9470c03a0c14371981a78540c4d7052819d)) +* **deps:** cap fastapi <0.137.0 to stop OPTIONS preflight 500s ([#334](https://github.com/scaleapi/scale-agentex/issues/334)) ([acbe9e3](https://github.com/scaleapi/scale-agentex/commit/acbe9e3957ad3867a9793d1726e07141da691f47)) +* **deps:** clear golden-image Trivy CRITICAL/HIGH (litellm, starlette, pyjwt, python-multipart) ([#320](https://github.com/scaleapi/scale-agentex/issues/320)) ([bfa6652](https://github.com/scaleapi/scale-agentex/commit/bfa6652b8125dcd6beee471f21ffa313c107551b)) +* **streams:** snapshot SSE cursor before "connected" to stop first-token drops ([#330](https://github.com/scaleapi/scale-agentex/issues/330)) ([7c2ccfd](https://github.com/scaleapi/scale-agentex/commit/7c2ccfd61376ddeaa2ae5580bae7421adea5ffd6)) +* **tasks:** preserve task_metadata in combined update and forward merge_params by name ([#336](https://github.com/scaleapi/scale-agentex/issues/336)) ([8c25c64](https://github.com/scaleapi/scale-agentex/commit/8c25c6417b6d39e2fa4457cad6ff4c37f2c952db)) diff --git a/agentex/openapi.yaml b/agentex/openapi.yaml index 2725babc..a4c8767d 100644 --- a/agentex/openapi.yaml +++ b/agentex/openapi.yaml @@ -1,22 +1,22 @@ openapi: 3.1.0 info: title: Agentex API - version: 0.1.0 + version: 0.2.0 paths: /agents/{agent_id}: get: tags: - - Agents + - Agents summary: Get Agent by ID description: Get an agent by its unique ID. operationId: get_agent_by_id_agents__agent_id__get parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id responses: '200': description: Successful Response @@ -32,17 +32,17 @@ paths: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - - Agents + - Agents summary: Delete Agent by ID description: Delete an agent by its unique ID. operationId: delete_agent_by_id_agents__agent_id__delete parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id responses: '200': description: Successful Response @@ -59,17 +59,17 @@ paths: /agents/name/{agent_name}: get: tags: - - Agents + - Agents summary: Get Agent by Name description: Get an agent by its unique name. operationId: get_agent_by_name_agents_name__agent_name__get parameters: - - name: agent_name - in: path - required: true - schema: - type: string - title: Agent Name + - name: agent_name + in: path + required: true + schema: + type: string + title: Agent Name responses: '200': description: Successful Response @@ -85,17 +85,17 @@ paths: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - - Agents + - Agents summary: Delete Agent by Name description: Delete an agent by its unique name. operationId: delete_agent_by_name_agents_name__agent_name__delete parameters: - - name: agent_name - in: path - required: true - schema: - type: string - title: Agent Name + - name: agent_name + in: path + required: true + schema: + type: string + title: Agent Name responses: '200': description: Successful Response @@ -112,60 +112,60 @@ paths: /agents: get: tags: - - Agents + - Agents summary: List Agents description: List all registered agents, optionally filtered by query parameters. operationId: list_agents_agents_get parameters: - - name: task_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' + - name: task_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Task ID + title: Task Id description: Task ID - title: Task Id - description: Task ID - - name: limit - in: query - required: false - schema: - type: integer - minimum: 1 + - name: limit + in: query + required: false + schema: + type: integer + minimum: 1 + description: Limit + default: 50 + title: Limit description: Limit - default: 50 - title: Limit - description: Limit - - name: page_number - in: query - required: false - schema: - type: integer - minimum: 1 + - name: page_number + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page Number description: Page number - default: 1 - title: Page Number - description: Page number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Field to order by + title: Order By description: Field to order by - title: Order By - description: Field to order by - - name: order_direction - in: query - required: false - schema: - type: string + - name: order_direction + in: query + required: false + schema: + type: string + description: Order direction (asc or desc) + default: desc + title: Order Direction description: Order direction (asc or desc) - default: desc - title: Order Direction - description: Order direction (asc or desc) responses: '200': description: Successful Response @@ -185,7 +185,7 @@ paths: /agents/register: post: tags: - - Agents + - Agents summary: Register Agent description: Register a new agent or update an existing one. operationId: register_agent_agents_register_post @@ -211,10 +211,11 @@ paths: /agents/register-build: post: tags: - - Agents + - Agents summary: Register Build - description: Register an agent at build time, before it is deployed, so it can - be permissioned and shared prior to deploy. Idempotent by name. + description: >- + Register an agent at build time, before it is deployed, so it can be + permissioned and shared prior to deploy. Idempotent by name. operationId: register_build_agents_register_build_post requestBody: content: @@ -238,23 +239,23 @@ paths: /agents/forward/name/{agent_name}/{path}: get: tags: - - Agents + - Agents summary: Forward GET request to agent by name description: Forward a GET request to an agent by its name. operationId: forward_get_request_to_agent_agents_forward_name__agent_name___path__get parameters: - - name: agent_name - in: path - required: true - schema: - type: string - title: Agent Name - - name: path - in: path - required: true - schema: - type: string - title: Path + - name: agent_name + in: path + required: true + schema: + type: string + title: Agent Name + - name: path + in: path + required: true + schema: + type: string + title: Path responses: '200': description: Successful Response @@ -269,23 +270,24 @@ paths: $ref: '#/components/schemas/HTTPValidationError' post: tags: - - Agents + - Agents summary: Forward POST request to agent by name description: Forward a POST request to an agent by its name. - operationId: forward_post_request_to_agent_agents_forward_name__agent_name___path__post + operationId: >- + forward_post_request_to_agent_agents_forward_name__agent_name___path__post parameters: - - name: agent_name - in: path - required: true - schema: - type: string - title: Agent Name - - name: path - in: path - required: true - schema: - type: string - title: Path + - name: agent_name + in: path + required: true + schema: + type: string + title: Agent Name + - name: path + in: path + required: true + schema: + type: string + title: Path responses: '200': description: Successful Response @@ -301,17 +303,17 @@ paths: /agents/{agent_id}/rpc: post: tags: - - Agents + - Agents summary: Handle Agent RPC by ID description: Handle JSON-RPC requests for an agent by its unique ID. operationId: handle_agent_rpc_by_id_agents__agent_id__rpc_post parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id requestBody: required: true content: @@ -334,17 +336,17 @@ paths: /agents/name/{agent_name}/rpc: post: tags: - - Agents + - Agents summary: Handle Agent RPC by Name description: Handle JSON-RPC requests for an agent by its unique name. operationId: handle_agent_rpc_by_name_agents_name__agent_name__rpc_post parameters: - - name: agent_name - in: path - required: true - schema: - type: string - title: Agent Name + - name: agent_name + in: path + required: true + schema: + type: string + title: Agent Name requestBody: required: true content: @@ -367,25 +369,25 @@ paths: /tasks/{task_id}: get: tags: - - Tasks + - Tasks summary: Get Task by ID description: Get a task by its unique ID. operationId: get_task_tasks__task_id__get parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id - - name: relationships - in: query - required: false - schema: - type: array - items: - $ref: '#/components/schemas/TaskRelationships' - title: Relationships + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id + - name: relationships + in: query + required: false + schema: + type: array + items: + $ref: '#/components/schemas/TaskRelationships' + title: Relationships responses: '200': description: Successful Response @@ -401,17 +403,17 @@ paths: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - - Tasks + - Tasks summary: Delete Task by ID description: Delete a task by its unique ID. operationId: delete_task_tasks__task_id__delete parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id responses: '200': description: Successful Response @@ -427,17 +429,17 @@ paths: $ref: '#/components/schemas/HTTPValidationError' put: tags: - - Tasks + - Tasks summary: Update Task by ID description: Update mutable fields for a task by its unique ID. operationId: update_task_tasks__task_id__put parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id requestBody: required: true content: @@ -460,25 +462,25 @@ paths: /tasks/name/{task_name}: get: tags: - - Tasks + - Tasks summary: Get Task by Name description: Get a task by its unique name. operationId: get_task_by_name_tasks_name__task_name__get parameters: - - name: task_name - in: path - required: true - schema: - type: string - title: Task Name - - name: relationships - in: query - required: false - schema: - type: array - items: - $ref: '#/components/schemas/TaskRelationships' - title: Relationships + - name: task_name + in: path + required: true + schema: + type: string + title: Task Name + - name: relationships + in: query + required: false + schema: + type: array + items: + $ref: '#/components/schemas/TaskRelationships' + title: Relationships responses: '200': description: Successful Response @@ -494,17 +496,17 @@ paths: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - - Tasks + - Tasks summary: Delete Task by Name description: Delete a task by its unique name. operationId: delete_task_by_name_tasks_name__task_name__delete parameters: - - name: task_name - in: path - required: true - schema: - type: string - title: Task Name + - name: task_name + in: path + required: true + schema: + type: string + title: Task Name responses: '200': description: Successful Response @@ -520,17 +522,17 @@ paths: $ref: '#/components/schemas/HTTPValidationError' put: tags: - - Tasks + - Tasks summary: Update Task by Name description: Update mutable fields for a task by its unique Name. operationId: update_task_by_name_tasks_name__task_name__put parameters: - - name: task_name - in: path - required: true - schema: - type: string - title: Task Name + - name: task_name + in: path + required: true + schema: + type: string + title: Task Name requestBody: required: true content: @@ -553,86 +555,88 @@ paths: /tasks: get: tags: - - Tasks + - Tasks summary: List Tasks description: List all tasks. operationId: list_tasks_tasks_get parameters: - - name: agent_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Id - - name: agent_name - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Name - - name: status - in: query - required: false - schema: - anyOf: - - $ref: '#/components/schemas/TaskStatus' - - type: 'null' + - name: agent_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Id + - name: agent_name + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Name + - name: status + in: query + required: false + schema: + anyOf: + - $ref: '#/components/schemas/TaskStatus' + - type: 'null' + description: Filter tasks by status (e.g. RUNNING, COMPLETED). + title: Status description: Filter tasks by status (e.g. RUNNING, COMPLETED). - title: Status - description: Filter tasks by status (e.g. RUNNING, COMPLETED). - - name: task_metadata - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: 'JSON-encoded object used to filter tasks via JSONB containment. - Example: {"created_by_user_id": "abc-123"}.' - title: Task Metadata - description: 'JSON-encoded object used to filter tasks via JSONB containment. - Example: {"created_by_user_id": "abc-123"}.' - - name: limit - in: query - required: false - schema: - type: integer - default: 50 - title: Limit - - name: page_number - in: query - required: false - schema: - type: integer - default: 1 - title: Page Number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Order By - - name: order_direction - in: query - required: false - schema: - type: string - default: desc - title: Order Direction - - name: relationships - in: query - required: false - schema: - type: array - items: - $ref: '#/components/schemas/TaskRelationships' - title: Relationships + - name: task_metadata + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: >- + JSON-encoded object used to filter tasks via JSONB containment. + Example: {"created_by_user_id": "abc-123"}. + title: Task Metadata + description: >- + JSON-encoded object used to filter tasks via JSONB containment. + Example: {"created_by_user_id": "abc-123"}. + - name: limit + in: query + required: false + schema: + type: integer + default: 50 + title: Limit + - name: page_number + in: query + required: false + schema: + type: integer + default: 1 + title: Page Number + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Order By + - name: order_direction + in: query + required: false + schema: + type: string + default: desc + title: Order Direction + - name: relationships + in: query + required: false + schema: + type: array + items: + $ref: '#/components/schemas/TaskRelationships' + title: Relationships responses: '200': description: Successful Response @@ -652,24 +656,24 @@ paths: /tasks/{task_id}/complete: post: tags: - - Tasks + - Tasks summary: Complete Task description: Mark a running task as completed. operationId: complete_task_tasks__task_id__complete_post parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id requestBody: content: application/json: schema: anyOf: - - $ref: '#/components/schemas/TaskStatusReasonRequest' - - type: 'null' + - $ref: '#/components/schemas/TaskStatusReasonRequest' + - type: 'null' title: Request responses: '200': @@ -687,24 +691,24 @@ paths: /tasks/{task_id}/fail: post: tags: - - Tasks + - Tasks summary: Fail Task description: Mark a running task as failed. operationId: fail_task_tasks__task_id__fail_post parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id requestBody: content: application/json: schema: anyOf: - - $ref: '#/components/schemas/TaskStatusReasonRequest' - - type: 'null' + - $ref: '#/components/schemas/TaskStatusReasonRequest' + - type: 'null' title: Request responses: '200': @@ -722,24 +726,24 @@ paths: /tasks/{task_id}/cancel: post: tags: - - Tasks + - Tasks summary: Cancel Task description: Mark a running task as canceled. operationId: cancel_task_tasks__task_id__cancel_post parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id requestBody: content: application/json: schema: anyOf: - - $ref: '#/components/schemas/TaskStatusReasonRequest' - - type: 'null' + - $ref: '#/components/schemas/TaskStatusReasonRequest' + - type: 'null' title: Request responses: '200': @@ -757,24 +761,24 @@ paths: /tasks/{task_id}/terminate: post: tags: - - Tasks + - Tasks summary: Terminate Task description: Mark a running task as terminated. operationId: terminate_task_tasks__task_id__terminate_post parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id requestBody: content: application/json: schema: anyOf: - - $ref: '#/components/schemas/TaskStatusReasonRequest' - - type: 'null' + - $ref: '#/components/schemas/TaskStatusReasonRequest' + - type: 'null' title: Request responses: '200': @@ -792,24 +796,24 @@ paths: /tasks/{task_id}/timeout: post: tags: - - Tasks + - Tasks summary: Timeout Task description: Mark a running task as timed out. operationId: timeout_task_tasks__task_id__timeout_post parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id requestBody: content: application/json: schema: anyOf: - - $ref: '#/components/schemas/TaskStatusReasonRequest' - - type: 'null' + - $ref: '#/components/schemas/TaskStatusReasonRequest' + - type: 'null' title: Request responses: '200': @@ -827,17 +831,17 @@ paths: /tasks/{task_id}/stream: get: tags: - - Tasks + - Tasks summary: Stream Task Events by ID description: Stream events for a task by its unique ID. operationId: stream_task_events_tasks__task_id__stream_get parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id responses: '200': description: Successful Response @@ -853,17 +857,17 @@ paths: /tasks/name/{task_name}/stream: get: tags: - - Tasks + - Tasks summary: Stream Task Events by Name description: Stream events for a task by its unique name. operationId: stream_task_events_by_name_tasks_name__task_name__stream_get parameters: - - name: task_name - in: path - required: true - schema: - type: string - title: Task Name + - name: task_name + in: path + required: true + schema: + type: string + title: Task Name responses: '200': description: Successful Response @@ -879,24 +883,23 @@ paths: /tasks/{task_id}/query/{query_name}: get: tags: - - Tasks + - Tasks summary: Query Task Workflow - description: Query a Temporal workflow associated with a task for its current - state. + description: Query a Temporal workflow associated with a task for its current state. operationId: query_task_workflow_tasks__task_id__query__query_name__get parameters: - - name: query_name - in: path - required: true - schema: - type: string - title: Query Name - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id + - name: query_name + in: path + required: true + schema: + type: string + title: Query Name + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id responses: '200': description: Successful Response @@ -905,7 +908,9 @@ paths: schema: type: object additionalProperties: true - title: Response Query Task Workflow Tasks Task Id Query Query Name Get + title: >- + Response Query Task Workflow Tasks Task Id Query Query + Name Get '422': description: Validation Error content: @@ -915,7 +920,7 @@ paths: /messages/batch: put: tags: - - Messages + - Messages summary: Batch Update Messages operationId: batch_update_messages_messages_batch_put requestBody: @@ -942,7 +947,7 @@ paths: $ref: '#/components/schemas/HTTPValidationError' post: tags: - - Messages + - Messages summary: Batch Create Messages operationId: batch_create_messages_messages_batch_post requestBody: @@ -970,7 +975,7 @@ paths: /messages: post: tags: - - Messages + - Messages summary: Create Message operationId: create_message_messages_post requestBody: @@ -994,492 +999,1140 @@ paths: $ref: '#/components/schemas/HTTPValidationError' get: tags: - - Messages + - Messages summary: List Messages - description: 'List messages for a task with offset-based pagination. + description: >- + List messages for a task with offset-based pagination. - For cursor-based pagination with infinite scroll support, use /messages/paginated.' + For cursor-based pagination with infinite scroll support, use + /messages/paginated. operationId: list_messages_messages_get parameters: - - name: limit - in: query - required: false - schema: - type: integer - default: 50 - title: Limit - - name: page_number - in: query - required: false - schema: - type: integer - default: 1 - title: Page Number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Order By - - name: order_direction - in: query - required: false - schema: - type: string - default: desc - title: Order Direction - - name: filters - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: "JSON-encoded array of TaskMessageEntityFilter objects.\n\n\ - Schema: {\n \"$defs\": {\n \"DataContentEntityOptional\": {\n \ - \ \"properties\": {\n \"type\": {\n \"anyOf\": [\n \ - \ {\n \"const\": \"data\",\n \"type\"\ - : \"string\"\n },\n {\n \"type\": \"\ - null\"\n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The type of the message, in this case `data`.\"\ - ,\n \"title\": \"Type\"\n },\n \"author\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The role of the messages author, in this case `system`,\ - \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"data\"\ - : {\n \"anyOf\": [\n {\n \"additionalProperties\"\ - : true,\n \"type\": \"object\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n ],\n\ - \ \"default\": null,\n \"description\": \"The contents\ - \ of the data message.\",\n \"title\": \"Data\"\n }\n\ - \ },\n \"title\": \"DataContentEntityOptional\",\n \"type\"\ - : \"object\"\n },\n \"FileAttachmentEntity\": {\n \"description\"\ - : \"Represents a file attachment in messages.\",\n \"properties\"\ - : {\n \"file_id\": {\n \"description\": \"The unique ID\ - \ of the attached file\",\n \"title\": \"File Id\",\n \ - \ \"type\": \"string\"\n },\n \"name\": {\n \"\ - description\": \"The name of the file\",\n \"title\": \"Name\"\ - ,\n \"type\": \"string\"\n },\n \"size\": {\n \ - \ \"description\": \"The size of the file in bytes\",\n \ - \ \"title\": \"Size\",\n \"type\": \"integer\"\n },\n\ - \ \"type\": {\n \"description\": \"The MIME type or content\ - \ type of the file\",\n \"title\": \"Type\",\n \"type\"\ - : \"string\"\n }\n },\n \"required\": [\n \"file_id\"\ - ,\n \"name\",\n \"size\",\n \"type\"\n ],\n\ - \ \"title\": \"FileAttachmentEntity\",\n \"type\": \"object\"\ - \n },\n \"MessageAuthor\": {\n \"enum\": [\n \"user\"\ - ,\n \"agent\"\n ],\n \"title\": \"MessageAuthor\",\n\ - \ \"type\": \"string\"\n },\n \"MessageStyle\": {\n \"\ - enum\": [\n \"static\",\n \"active\"\n ],\n \"\ - title\": \"MessageStyle\",\n \"type\": \"string\"\n },\n \"\ - ReasoningContentEntityOptional\": {\n \"properties\": {\n \ - \ \"type\": {\n \"anyOf\": [\n {\n \"\ - const\": \"reasoning\",\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `reasoning`.\",\n \"\ - title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The role of the messages author, in this case `system`,\ - \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"summary\"\ - : {\n \"anyOf\": [\n {\n \"items\": {\n\ - \ \"type\": \"string\"\n },\n \ - \ \"type\": \"array\"\n },\n {\n \"\ - type\": \"null\"\n }\n ],\n \"default\":\ - \ null,\n \"description\": \"A list of short reasoning summaries\"\ - ,\n \"title\": \"Summary\"\n },\n \"content\":\ - \ {\n \"anyOf\": [\n {\n \"items\": {\n\ - \ \"type\": \"string\"\n },\n \ - \ \"type\": \"array\"\n },\n {\n \"\ - type\": \"null\"\n }\n ],\n \"default\":\ - \ null,\n \"description\": \"The reasoning content or chain-of-thought\ - \ text\",\n \"title\": \"Content\"\n }\n },\n \ - \ \"title\": \"ReasoningContentEntityOptional\",\n \"type\": \"\ - object\"\n },\n \"TextContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"text\",\n \"type\": \"string\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The type of the message, in this case `text`.\",\n \ - \ \"title\": \"Type\"\n },\n \"author\": {\n \ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The role of the messages author, in this case `system`,\ - \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"format\"\ - : {\n \"anyOf\": [\n {\n \"$ref\": \"\ - #/$defs/TextFormat\"\n },\n {\n \"\ - type\": \"null\"\n }\n ],\n \"default\":\ - \ null,\n \"description\": \"The format of the message. This\ - \ is used by the client to determine how to display the message.\"\n \ - \ },\n \"content\": {\n \"anyOf\": [\n \ - \ {\n \"type\": \"string\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n ],\n\ - \ \"default\": null,\n \"description\": \"The contents\ - \ of the text message.\",\n \"title\": \"Content\"\n },\n\ - \ \"attachments\": {\n \"anyOf\": [\n {\n \ - \ \"items\": {\n \"$ref\": \"#/$defs/FileAttachmentEntity\"\ - \n },\n \"type\": \"array\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"\ - Optional list of file attachments with structured metadata.\",\n \ - \ \"title\": \"Attachments\"\n }\n },\n \"title\"\ - : \"TextContentEntityOptional\",\n \"type\": \"object\"\n },\n\ - \ \"TextFormat\": {\n \"enum\": [\n \"markdown\",\n \ - \ \"plain\",\n \"code\"\n ],\n \"title\": \"TextFormat\"\ - ,\n \"type\": \"string\"\n },\n \"ToolRequestContentEntityOptional\"\ - : {\n \"properties\": {\n \"type\": {\n \"anyOf\"\ - : [\n {\n \"const\": \"tool_request\",\n \ - \ \"type\": \"string\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"\ - default\": null,\n \"description\": \"The type of the message,\ - \ in this case `tool_request`.\",\n \"title\": \"Type\"\n \ - \ },\n \"author\": {\n \"anyOf\": [\n {\n\ - \ \"$ref\": \"#/$defs/MessageAuthor\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"\ - The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"tool_call_id\"\ - : {\n \"anyOf\": [\n {\n \"type\": \"\ - string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The ID of the tool call that is being requested.\"\ - ,\n \"title\": \"Tool Call Id\"\n },\n \"name\"\ - : {\n \"anyOf\": [\n {\n \"type\": \"\ - string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The name of the tool that is being requested.\"\ - ,\n \"title\": \"Name\"\n },\n \"arguments\": {\n\ - \ \"anyOf\": [\n {\n \"additionalProperties\"\ - : true,\n \"type\": \"object\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n ],\n\ - \ \"default\": null,\n \"description\": \"The arguments\ - \ to the tool.\",\n \"title\": \"Arguments\"\n }\n \ - \ },\n \"title\": \"ToolRequestContentEntityOptional\",\n \ - \ \"type\": \"object\"\n },\n \"ToolResponseContentEntityOptional\"\ - : {\n \"properties\": {\n \"type\": {\n \"anyOf\"\ - : [\n {\n \"const\": \"tool_response\",\n \ - \ \"type\": \"string\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"\ - default\": null,\n \"description\": \"The type of the message,\ - \ in this case `tool_response`.\",\n \"title\": \"Type\"\n \ - \ },\n \"author\": {\n \"anyOf\": [\n \ - \ {\n \"$ref\": \"#/$defs/MessageAuthor\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"\ - The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"tool_call_id\"\ - : {\n \"anyOf\": [\n {\n \"type\": \"\ - string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The ID of the tool call that is being responded\ - \ to.\",\n \"title\": \"Tool Call Id\"\n },\n \"\ - name\": {\n \"anyOf\": [\n {\n \"type\"\ - : \"string\"\n },\n {\n \"type\": \"\ - null\"\n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The name of the tool that is being responded\ - \ to.\",\n \"title\": \"Name\"\n },\n \"content\"\ - : {\n \"anyOf\": [\n {},\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"default\"\ - : null,\n \"description\": \"The result of the tool.\",\n \ - \ \"title\": \"Content\"\n },\n \"is_error\": {\n\ - \ \"anyOf\": [\n {\n \"type\": \"boolean\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"Whether the tool call resulted in an error. `None` when\ - \ the harness does not report a status.\",\n \"title\": \"Is\ - \ Error\"\n }\n },\n \"title\": \"ToolResponseContentEntityOptional\"\ - ,\n \"type\": \"object\"\n }\n },\n \"description\": \"Filter\ - \ model for TaskMessage - all fields optional for flexible filtering.\\\ - n\\nThe `exclude` field determines whether this filter is inclusionary\ - \ or exclusionary.\\nWhen multiple filters are provided:\\n- Inclusionary\ - \ filters (exclude=False) are OR'd together\\n- Exclusionary filters (exclude=True)\ - \ are OR'd together and negated with $nor\\n- The two groups are AND'd:\ - \ (include1 OR include2) AND NOT (exclude1 OR exclude2)\",\n \"properties\"\ - : {\n \"content\": {\n \"anyOf\": [\n {\n \"$ref\"\ - : \"#/$defs/ToolRequestContentEntityOptional\"\n },\n {\n\ - \ \"$ref\": \"#/$defs/DataContentEntityOptional\"\n },\n\ - \ {\n \"$ref\": \"#/$defs/TextContentEntityOptional\"\n\ - \ },\n {\n \"$ref\": \"#/$defs/ToolResponseContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/ReasoningContentEntityOptional\"\ - \n },\n {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"Filter by message\ - \ content\",\n \"title\": \"Content\"\n },\n \"streaming_status\"\ - : {\n \"anyOf\": [\n {\n \"enum\": [\n \ - \ \"IN_PROGRESS\",\n \"DONE\"\n ],\n \"\ - type\": \"string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \"description\"\ - : \"Filter by streaming status\",\n \"title\": \"Streaming Status\"\ - \n },\n \"exclude\": {\n \"default\": false,\n \"description\"\ - : \"If true, this filter excludes matching messages\",\n \"title\"\ - : \"Exclude\",\n \"type\": \"boolean\"\n }\n },\n \"title\"\ - : \"TaskMessageEntityFilter\",\n \"type\": \"object\"\n}\n\nEach filter\ - \ can include:\n- `content`: Filter by message content (type, author,\ - \ data fields)\n- `streaming_status`: Filter by status (\"IN_PROGRESS\"\ - \ or \"DONE\")\n- `exclude`: If true, excludes matching messages (default:\ - \ false)\n\nMultiple filters are combined: inclusionary filters (exclude=false)\ - \ are OR'd together,\nexclusionary filters (exclude=true) are OR'd and\ - \ negated, then both groups are AND'd.\n" - title: Filters - description: "JSON-encoded array of TaskMessageEntityFilter objects.\n\nSchema:\ - \ {\n \"$defs\": {\n \"DataContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"data\",\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `data`.\",\n \"title\"\ - : \"Type\"\n },\n \"author\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageAuthor\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"data\": {\n \ - \ \"anyOf\": [\n {\n \"additionalProperties\": true,\n\ - \ \"type\": \"object\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"\ - default\": null,\n \"description\": \"The contents of the data\ - \ message.\",\n \"title\": \"Data\"\n }\n },\n \ - \ \"title\": \"DataContentEntityOptional\",\n \"type\": \"object\"\ - \n },\n \"FileAttachmentEntity\": {\n \"description\": \"Represents\ - \ a file attachment in messages.\",\n \"properties\": {\n \"\ - file_id\": {\n \"description\": \"The unique ID of the attached\ - \ file\",\n \"title\": \"File Id\",\n \"type\": \"string\"\ - \n },\n \"name\": {\n \"description\": \"The name\ - \ of the file\",\n \"title\": \"Name\",\n \"type\": \"\ - string\"\n },\n \"size\": {\n \"description\": \"\ - The size of the file in bytes\",\n \"title\": \"Size\",\n \ - \ \"type\": \"integer\"\n },\n \"type\": {\n \ - \ \"description\": \"The MIME type or content type of the file\",\n \ - \ \"title\": \"Type\",\n \"type\": \"string\"\n }\n\ - \ },\n \"required\": [\n \"file_id\",\n \"name\"\ - ,\n \"size\",\n \"type\"\n ],\n \"title\": \"FileAttachmentEntity\"\ - ,\n \"type\": \"object\"\n },\n \"MessageAuthor\": {\n \"\ - enum\": [\n \"user\",\n \"agent\"\n ],\n \"title\"\ - : \"MessageAuthor\",\n \"type\": \"string\"\n },\n \"MessageStyle\"\ - : {\n \"enum\": [\n \"static\",\n \"active\"\n ],\n\ - \ \"title\": \"MessageStyle\",\n \"type\": \"string\"\n },\n\ - \ \"ReasoningContentEntityOptional\": {\n \"properties\": {\n \ - \ \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"reasoning\",\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `reasoning`.\",\n \"\ - title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"summary\": {\n \ - \ \"anyOf\": [\n {\n \"items\": {\n \ - \ \"type\": \"string\"\n },\n \"type\":\ - \ \"array\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \"\ - description\": \"A list of short reasoning summaries\",\n \"title\"\ - : \"Summary\"\n },\n \"content\": {\n \"anyOf\":\ - \ [\n {\n \"items\": {\n \"type\"\ - : \"string\"\n },\n \"type\": \"array\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The reasoning content or chain-of-thought text\",\n \"title\"\ - : \"Content\"\n }\n },\n \"title\": \"ReasoningContentEntityOptional\"\ - ,\n \"type\": \"object\"\n },\n \"TextContentEntityOptional\"\ - : {\n \"properties\": {\n \"type\": {\n \"anyOf\":\ - \ [\n {\n \"const\": \"text\",\n \"\ - type\": \"string\"\n },\n {\n \"type\"\ - : \"null\"\n }\n ],\n \"default\": null,\n\ - \ \"description\": \"The type of the message, in this case `text`.\"\ - ,\n \"title\": \"Type\"\n },\n \"author\": {\n \ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"format\": {\n \ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TextFormat\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The format of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"content\": {\n \ - \ \"anyOf\": [\n {\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The contents of the text message.\",\n \"title\": \"Content\"\ - \n },\n \"attachments\": {\n \"anyOf\": [\n \ - \ {\n \"items\": {\n \"$ref\": \"#/$defs/FileAttachmentEntity\"\ - \n },\n \"type\": \"array\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"Optional\ - \ list of file attachments with structured metadata.\",\n \"title\"\ - : \"Attachments\"\n }\n },\n \"title\": \"TextContentEntityOptional\"\ - ,\n \"type\": \"object\"\n },\n \"TextFormat\": {\n \"enum\"\ - : [\n \"markdown\",\n \"plain\",\n \"code\"\n \ - \ ],\n \"title\": \"TextFormat\",\n \"type\": \"string\"\n \ - \ },\n \"ToolRequestContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"tool_request\",\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `tool_request`.\",\n \ - \ \"title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"tool_call_id\": {\n \ - \ \"anyOf\": [\n {\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The ID of the tool call that is being requested.\",\n \"title\"\ - : \"Tool Call Id\"\n },\n \"name\": {\n \"anyOf\"\ - : [\n {\n \"type\": \"string\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"The\ - \ name of the tool that is being requested.\",\n \"title\": \"\ - Name\"\n },\n \"arguments\": {\n \"anyOf\": [\n \ - \ {\n \"additionalProperties\": true,\n \ - \ \"type\": \"object\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"default\"\ - : null,\n \"description\": \"The arguments to the tool.\",\n \ - \ \"title\": \"Arguments\"\n }\n },\n \"title\"\ - : \"ToolRequestContentEntityOptional\",\n \"type\": \"object\"\n \ - \ },\n \"ToolResponseContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"tool_response\",\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `tool_response`.\",\n \ - \ \"title\": \"Type\"\n },\n \"author\": {\n \"\ - anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"tool_call_id\": {\n \ - \ \"anyOf\": [\n {\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The ID of the tool call that is being responded to.\",\n \"\ - title\": \"Tool Call Id\"\n },\n \"name\": {\n \"\ - anyOf\": [\n {\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n }\n\ - \ ],\n \"default\": null,\n \"description\":\ - \ \"The name of the tool that is being responded to.\",\n \"title\"\ - : \"Name\"\n },\n \"content\": {\n \"anyOf\": [\n\ - \ {},\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The result of the tool.\",\n \"title\": \"Content\"\n \ - \ },\n \"is_error\": {\n \"anyOf\": [\n {\n\ - \ \"type\": \"boolean\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \ - \ \"default\": null,\n \"description\": \"Whether the tool call\ - \ resulted in an error. `None` when the harness does not report a status.\"\ - ,\n \"title\": \"Is Error\"\n }\n },\n \"title\"\ - : \"ToolResponseContentEntityOptional\",\n \"type\": \"object\"\n \ - \ }\n },\n \"description\": \"Filter model for TaskMessage - all fields\ - \ optional for flexible filtering.\\n\\nThe `exclude` field determines whether\ - \ this filter is inclusionary or exclusionary.\\nWhen multiple filters are\ - \ provided:\\n- Inclusionary filters (exclude=False) are OR'd together\\\ - n- Exclusionary filters (exclude=True) are OR'd together and negated with\ - \ $nor\\n- The two groups are AND'd: (include1 OR include2) AND NOT (exclude1\ - \ OR exclude2)\",\n \"properties\": {\n \"content\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/ToolRequestContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/DataContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/TextContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/ToolResponseContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/ReasoningContentEntityOptional\"\ - \n },\n {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"Filter by message\ - \ content\",\n \"title\": \"Content\"\n },\n \"streaming_status\"\ - : {\n \"anyOf\": [\n {\n \"enum\": [\n \"\ - IN_PROGRESS\",\n \"DONE\"\n ],\n \"type\":\ - \ \"string\"\n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\": \"Filter\ - \ by streaming status\",\n \"title\": \"Streaming Status\"\n },\n\ - \ \"exclude\": {\n \"default\": false,\n \"description\": \"\ - If true, this filter excludes matching messages\",\n \"title\": \"\ - Exclude\",\n \"type\": \"boolean\"\n }\n },\n \"title\": \"TaskMessageEntityFilter\"\ - ,\n \"type\": \"object\"\n}\n\nEach filter can include:\n- `content`: Filter\ - \ by message content (type, author, data fields)\n- `streaming_status`:\ - \ Filter by status (\"IN_PROGRESS\" or \"DONE\")\n- `exclude`: If true,\ - \ excludes matching messages (default: false)\n\nMultiple filters are combined:\ - \ inclusionary filters (exclude=false) are OR'd together,\nexclusionary\ - \ filters (exclude=true) are OR'd and negated, then both groups are AND'd.\n" - examples: - single_filter: - summary: Filter by content type - value: '{"content": {"type": "text"}}' - multiple_types: - summary: Filter multiple content types (OR) - value: '[{"content": {"type": "text"}}, {"content": {"type": "data"}}]' - with_exclusion: - summary: Include data messages, exclude specific data types - value: '[{"content": {"type": "data"}}, {"content": {"data": {"type": - "error_report"}}, "exclude": true}]' - nested_data: - summary: Filter by nested data field - value: '{"content": {"data": {"type": "report_status_update"}}}' - - name: task_id - in: query - required: true - schema: - type: string + - name: limit + in: query + required: false + schema: + type: integer + default: 50 + title: Limit + - name: page_number + in: query + required: false + schema: + type: integer + default: 1 + title: Page Number + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Order By + - name: order_direction + in: query + required: false + schema: + type: string + default: desc + title: Order Direction + - name: filters + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: > + JSON-encoded array of TaskMessageEntityFilter objects. + + + Schema: { + "$defs": { + "DataContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "data", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `data`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "data": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The contents of the data message.", + "title": "Data" + } + }, + "title": "DataContentEntityOptional", + "type": "object" + }, + "FileAttachmentEntity": { + "description": "Represents a file attachment in messages.", + "properties": { + "file_id": { + "description": "The unique ID of the attached file", + "title": "File Id", + "type": "string" + }, + "name": { + "description": "The name of the file", + "title": "Name", + "type": "string" + }, + "size": { + "description": "The size of the file in bytes", + "title": "Size", + "type": "integer" + }, + "type": { + "description": "The MIME type or content type of the file", + "title": "Type", + "type": "string" + } + }, + "required": [ + "file_id", + "name", + "size", + "type" + ], + "title": "FileAttachmentEntity", + "type": "object" + }, + "MessageAuthor": { + "enum": [ + "user", + "agent" + ], + "title": "MessageAuthor", + "type": "string" + }, + "MessageStyle": { + "enum": [ + "static", + "active" + ], + "title": "MessageStyle", + "type": "string" + }, + "ReasoningContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "reasoning", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `reasoning`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "summary": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "A list of short reasoning summaries", + "title": "Summary" + }, + "content": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The reasoning content or chain-of-thought text", + "title": "Content" + } + }, + "title": "ReasoningContentEntityOptional", + "type": "object" + }, + "TextContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "text", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `text`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "format": { + "anyOf": [ + { + "$ref": "#/$defs/TextFormat" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The format of the message. This is used by the client to determine how to display the message." + }, + "content": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The contents of the text message.", + "title": "Content" + }, + "attachments": { + "anyOf": [ + { + "items": { + "$ref": "#/$defs/FileAttachmentEntity" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional list of file attachments with structured metadata.", + "title": "Attachments" + } + }, + "title": "TextContentEntityOptional", + "type": "object" + }, + "TextFormat": { + "enum": [ + "markdown", + "plain", + "code" + ], + "title": "TextFormat", + "type": "string" + }, + "ToolRequestContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "tool_request", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `tool_request`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "tool_call_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The ID of the tool call that is being requested.", + "title": "Tool Call Id" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The name of the tool that is being requested.", + "title": "Name" + }, + "arguments": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The arguments to the tool.", + "title": "Arguments" + } + }, + "title": "ToolRequestContentEntityOptional", + "type": "object" + }, + "ToolResponseContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "tool_response", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `tool_response`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "tool_call_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The ID of the tool call that is being responded to.", + "title": "Tool Call Id" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The name of the tool that is being responded to.", + "title": "Name" + }, + "content": { + "anyOf": [ + {}, + { + "type": "null" + } + ], + "default": null, + "description": "The result of the tool.", + "title": "Content" + }, + "is_error": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Whether the tool call resulted in an error. `None` when the harness does not report a status.", + "title": "Is Error" + } + }, + "title": "ToolResponseContentEntityOptional", + "type": "object" + } + }, + "description": "Filter model for TaskMessage - all fields optional for flexible filtering.\n\nThe `exclude` field determines whether this filter is inclusionary or exclusionary.\nWhen multiple filters are provided:\n- Inclusionary filters (exclude=False) are OR'd together\n- Exclusionary filters (exclude=True) are OR'd together and negated with $nor\n- The two groups are AND'd: (include1 OR include2) AND NOT (exclude1 OR exclude2)", + "properties": { + "content": { + "anyOf": [ + { + "$ref": "#/$defs/ToolRequestContentEntityOptional" + }, + { + "$ref": "#/$defs/DataContentEntityOptional" + }, + { + "$ref": "#/$defs/TextContentEntityOptional" + }, + { + "$ref": "#/$defs/ToolResponseContentEntityOptional" + }, + { + "$ref": "#/$defs/ReasoningContentEntityOptional" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Filter by message content", + "title": "Content" + }, + "streaming_status": { + "anyOf": [ + { + "enum": [ + "IN_PROGRESS", + "DONE" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Filter by streaming status", + "title": "Streaming Status" + }, + "exclude": { + "default": false, + "description": "If true, this filter excludes matching messages", + "title": "Exclude", + "type": "boolean" + } + }, + "title": "TaskMessageEntityFilter", + "type": "object" + } + + + Each filter can include: + + - `content`: Filter by message content (type, author, data fields) + + - `streaming_status`: Filter by status ("IN_PROGRESS" or "DONE") + + - `exclude`: If true, excludes matching messages (default: false) + + + Multiple filters are combined: inclusionary filters + (exclude=false) are OR'd together, + + exclusionary filters (exclude=true) are OR'd and negated, then + both groups are AND'd. + title: Filters + description: > + JSON-encoded array of TaskMessageEntityFilter objects. + + + Schema: { + "$defs": { + "DataContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "data", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `data`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "data": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The contents of the data message.", + "title": "Data" + } + }, + "title": "DataContentEntityOptional", + "type": "object" + }, + "FileAttachmentEntity": { + "description": "Represents a file attachment in messages.", + "properties": { + "file_id": { + "description": "The unique ID of the attached file", + "title": "File Id", + "type": "string" + }, + "name": { + "description": "The name of the file", + "title": "Name", + "type": "string" + }, + "size": { + "description": "The size of the file in bytes", + "title": "Size", + "type": "integer" + }, + "type": { + "description": "The MIME type or content type of the file", + "title": "Type", + "type": "string" + } + }, + "required": [ + "file_id", + "name", + "size", + "type" + ], + "title": "FileAttachmentEntity", + "type": "object" + }, + "MessageAuthor": { + "enum": [ + "user", + "agent" + ], + "title": "MessageAuthor", + "type": "string" + }, + "MessageStyle": { + "enum": [ + "static", + "active" + ], + "title": "MessageStyle", + "type": "string" + }, + "ReasoningContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "reasoning", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `reasoning`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "summary": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "A list of short reasoning summaries", + "title": "Summary" + }, + "content": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The reasoning content or chain-of-thought text", + "title": "Content" + } + }, + "title": "ReasoningContentEntityOptional", + "type": "object" + }, + "TextContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "text", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `text`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "format": { + "anyOf": [ + { + "$ref": "#/$defs/TextFormat" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The format of the message. This is used by the client to determine how to display the message." + }, + "content": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The contents of the text message.", + "title": "Content" + }, + "attachments": { + "anyOf": [ + { + "items": { + "$ref": "#/$defs/FileAttachmentEntity" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional list of file attachments with structured metadata.", + "title": "Attachments" + } + }, + "title": "TextContentEntityOptional", + "type": "object" + }, + "TextFormat": { + "enum": [ + "markdown", + "plain", + "code" + ], + "title": "TextFormat", + "type": "string" + }, + "ToolRequestContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "tool_request", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `tool_request`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "tool_call_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The ID of the tool call that is being requested.", + "title": "Tool Call Id" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The name of the tool that is being requested.", + "title": "Name" + }, + "arguments": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The arguments to the tool.", + "title": "Arguments" + } + }, + "title": "ToolRequestContentEntityOptional", + "type": "object" + }, + "ToolResponseContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "tool_response", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `tool_response`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "tool_call_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The ID of the tool call that is being responded to.", + "title": "Tool Call Id" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The name of the tool that is being responded to.", + "title": "Name" + }, + "content": { + "anyOf": [ + {}, + { + "type": "null" + } + ], + "default": null, + "description": "The result of the tool.", + "title": "Content" + }, + "is_error": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Whether the tool call resulted in an error. `None` when the harness does not report a status.", + "title": "Is Error" + } + }, + "title": "ToolResponseContentEntityOptional", + "type": "object" + } + }, + "description": "Filter model for TaskMessage - all fields optional for flexible filtering.\n\nThe `exclude` field determines whether this filter is inclusionary or exclusionary.\nWhen multiple filters are provided:\n- Inclusionary filters (exclude=False) are OR'd together\n- Exclusionary filters (exclude=True) are OR'd together and negated with $nor\n- The two groups are AND'd: (include1 OR include2) AND NOT (exclude1 OR exclude2)", + "properties": { + "content": { + "anyOf": [ + { + "$ref": "#/$defs/ToolRequestContentEntityOptional" + }, + { + "$ref": "#/$defs/DataContentEntityOptional" + }, + { + "$ref": "#/$defs/TextContentEntityOptional" + }, + { + "$ref": "#/$defs/ToolResponseContentEntityOptional" + }, + { + "$ref": "#/$defs/ReasoningContentEntityOptional" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Filter by message content", + "title": "Content" + }, + "streaming_status": { + "anyOf": [ + { + "enum": [ + "IN_PROGRESS", + "DONE" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Filter by streaming status", + "title": "Streaming Status" + }, + "exclude": { + "default": false, + "description": "If true, this filter excludes matching messages", + "title": "Exclude", + "type": "boolean" + } + }, + "title": "TaskMessageEntityFilter", + "type": "object" + } + + + Each filter can include: + + - `content`: Filter by message content (type, author, data fields) + + - `streaming_status`: Filter by status ("IN_PROGRESS" or "DONE") + + - `exclude`: If true, excludes matching messages (default: false) + + + Multiple filters are combined: inclusionary filters (exclude=false) + are OR'd together, + + exclusionary filters (exclude=true) are OR'd and negated, then both + groups are AND'd. + examples: + single_filter: + summary: Filter by content type + value: '{"content": {"type": "text"}}' + multiple_types: + summary: Filter multiple content types (OR) + value: '[{"content": {"type": "text"}}, {"content": {"type": "data"}}]' + with_exclusion: + summary: Include data messages, exclude specific data types + value: >- + [{"content": {"type": "data"}}, {"content": {"data": {"type": + "error_report"}}, "exclude": true}] + nested_data: + summary: Filter by nested data field + value: '{"content": {"data": {"type": "report_status_update"}}}' + - name: task_id + in: query + required: true + schema: + type: string + description: The task ID + title: Task Id description: The task ID - title: Task Id - description: The task ID responses: '200': description: Successful Response @@ -1499,16 +2152,16 @@ paths: /messages/{message_id}: put: tags: - - Messages + - Messages summary: Update Message operationId: update_message_messages__message_id__put parameters: - - name: message_id - in: path - required: true - schema: - type: string - title: Message Id + - name: message_id + in: path + required: true + schema: + type: string + title: Message Id requestBody: required: true content: @@ -1530,16 +2183,16 @@ paths: $ref: '#/components/schemas/HTTPValidationError' get: tags: - - Messages + - Messages summary: Get Message operationId: get_message_messages__message_id__get parameters: - - name: message_id - in: path - required: true - schema: - type: string - title: Message Id + - name: message_id + in: path + required: true + schema: + type: string + title: Message Id responses: '200': description: Successful Response @@ -1556,497 +2209,1157 @@ paths: /messages/paginated: get: tags: - - Messages + - Messages summary: List Messages Paginated - description: "List messages for a task with cursor-based pagination.\n\nThis\ - \ endpoint is designed for infinite scroll UIs where new messages may arrive\n\ - while paginating through older ones.\n\nArgs:\n task_id: The task ID to\ - \ filter messages by\n limit: Maximum number of messages to return (default:\ - \ 50)\n cursor: Opaque cursor string for pagination. Pass the `next_cursor`\ - \ from\n a previous response to get the next page.\n direction:\ - \ Pagination direction - \"older\" to get older messages (default),\n \ - \ \"newer\" to get newer messages.\n\nReturns:\n PaginatedMessagesResponse\ - \ with:\n - data: List of messages (newest first when direction=\"older\"\ - )\n - next_cursor: Cursor for fetching the next page (null if no more pages)\n\ - \ - has_more: Whether there are more messages to fetch\n\nExample:\n \ - \ First request: GET /messages/paginated?task_id=xxx&limit=50\n Next page:\ - \ GET /messages/paginated?task_id=xxx&limit=50&cursor=" + description: >- + List messages for a task with cursor-based pagination. + + + This endpoint is designed for infinite scroll UIs where new messages may + arrive + + while paginating through older ones. + + + Args: + task_id: The task ID to filter messages by + limit: Maximum number of messages to return (default: 50) + cursor: Opaque cursor string for pagination. Pass the `next_cursor` from + a previous response to get the next page. + direction: Pagination direction - "older" to get older messages (default), + "newer" to get newer messages. + + Returns: + PaginatedMessagesResponse with: + - data: List of messages (newest first when direction="older") + - next_cursor: Cursor for fetching the next page (null if no more pages) + - has_more: Whether there are more messages to fetch + + Example: + First request: GET /messages/paginated?task_id=xxx&limit=50 + Next page: GET /messages/paginated?task_id=xxx&limit=50&cursor= operationId: list_messages_paginated_messages_paginated_get parameters: - - name: limit - in: query - required: false - schema: - type: integer - default: 50 - title: Limit - - name: cursor - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Cursor - - name: direction - in: query - required: false - schema: - enum: - - older - - newer - type: string - default: older - title: Direction - - name: filters - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - description: "JSON-encoded array of TaskMessageEntityFilter objects.\n\n\ - Schema: {\n \"$defs\": {\n \"DataContentEntityOptional\": {\n \ - \ \"properties\": {\n \"type\": {\n \"anyOf\": [\n \ - \ {\n \"const\": \"data\",\n \"type\"\ - : \"string\"\n },\n {\n \"type\": \"\ - null\"\n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The type of the message, in this case `data`.\"\ - ,\n \"title\": \"Type\"\n },\n \"author\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The role of the messages author, in this case `system`,\ - \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"data\"\ - : {\n \"anyOf\": [\n {\n \"additionalProperties\"\ - : true,\n \"type\": \"object\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n ],\n\ - \ \"default\": null,\n \"description\": \"The contents\ - \ of the data message.\",\n \"title\": \"Data\"\n }\n\ - \ },\n \"title\": \"DataContentEntityOptional\",\n \"type\"\ - : \"object\"\n },\n \"FileAttachmentEntity\": {\n \"description\"\ - : \"Represents a file attachment in messages.\",\n \"properties\"\ - : {\n \"file_id\": {\n \"description\": \"The unique ID\ - \ of the attached file\",\n \"title\": \"File Id\",\n \ - \ \"type\": \"string\"\n },\n \"name\": {\n \"\ - description\": \"The name of the file\",\n \"title\": \"Name\"\ - ,\n \"type\": \"string\"\n },\n \"size\": {\n \ - \ \"description\": \"The size of the file in bytes\",\n \ - \ \"title\": \"Size\",\n \"type\": \"integer\"\n },\n\ - \ \"type\": {\n \"description\": \"The MIME type or content\ - \ type of the file\",\n \"title\": \"Type\",\n \"type\"\ - : \"string\"\n }\n },\n \"required\": [\n \"file_id\"\ - ,\n \"name\",\n \"size\",\n \"type\"\n ],\n\ - \ \"title\": \"FileAttachmentEntity\",\n \"type\": \"object\"\ - \n },\n \"MessageAuthor\": {\n \"enum\": [\n \"user\"\ - ,\n \"agent\"\n ],\n \"title\": \"MessageAuthor\",\n\ - \ \"type\": \"string\"\n },\n \"MessageStyle\": {\n \"\ - enum\": [\n \"static\",\n \"active\"\n ],\n \"\ - title\": \"MessageStyle\",\n \"type\": \"string\"\n },\n \"\ - ReasoningContentEntityOptional\": {\n \"properties\": {\n \ - \ \"type\": {\n \"anyOf\": [\n {\n \"\ - const\": \"reasoning\",\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `reasoning`.\",\n \"\ - title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The role of the messages author, in this case `system`,\ - \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"summary\"\ - : {\n \"anyOf\": [\n {\n \"items\": {\n\ - \ \"type\": \"string\"\n },\n \ - \ \"type\": \"array\"\n },\n {\n \"\ - type\": \"null\"\n }\n ],\n \"default\":\ - \ null,\n \"description\": \"A list of short reasoning summaries\"\ - ,\n \"title\": \"Summary\"\n },\n \"content\":\ - \ {\n \"anyOf\": [\n {\n \"items\": {\n\ - \ \"type\": \"string\"\n },\n \ - \ \"type\": \"array\"\n },\n {\n \"\ - type\": \"null\"\n }\n ],\n \"default\":\ - \ null,\n \"description\": \"The reasoning content or chain-of-thought\ - \ text\",\n \"title\": \"Content\"\n }\n },\n \ - \ \"title\": \"ReasoningContentEntityOptional\",\n \"type\": \"\ - object\"\n },\n \"TextContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"text\",\n \"type\": \"string\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The type of the message, in this case `text`.\",\n \ - \ \"title\": \"Type\"\n },\n \"author\": {\n \ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The role of the messages author, in this case `system`,\ - \ `user`, `assistant`, or `tool`.\"\n },\n \"style\": {\n\ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"format\"\ - : {\n \"anyOf\": [\n {\n \"$ref\": \"\ - #/$defs/TextFormat\"\n },\n {\n \"\ - type\": \"null\"\n }\n ],\n \"default\":\ - \ null,\n \"description\": \"The format of the message. This\ - \ is used by the client to determine how to display the message.\"\n \ - \ },\n \"content\": {\n \"anyOf\": [\n \ - \ {\n \"type\": \"string\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n ],\n\ - \ \"default\": null,\n \"description\": \"The contents\ - \ of the text message.\",\n \"title\": \"Content\"\n },\n\ - \ \"attachments\": {\n \"anyOf\": [\n {\n \ - \ \"items\": {\n \"$ref\": \"#/$defs/FileAttachmentEntity\"\ - \n },\n \"type\": \"array\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"\ - Optional list of file attachments with structured metadata.\",\n \ - \ \"title\": \"Attachments\"\n }\n },\n \"title\"\ - : \"TextContentEntityOptional\",\n \"type\": \"object\"\n },\n\ - \ \"TextFormat\": {\n \"enum\": [\n \"markdown\",\n \ - \ \"plain\",\n \"code\"\n ],\n \"title\": \"TextFormat\"\ - ,\n \"type\": \"string\"\n },\n \"ToolRequestContentEntityOptional\"\ - : {\n \"properties\": {\n \"type\": {\n \"anyOf\"\ - : [\n {\n \"const\": \"tool_request\",\n \ - \ \"type\": \"string\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"\ - default\": null,\n \"description\": \"The type of the message,\ - \ in this case `tool_request`.\",\n \"title\": \"Type\"\n \ - \ },\n \"author\": {\n \"anyOf\": [\n {\n\ - \ \"$ref\": \"#/$defs/MessageAuthor\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"\ - The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"tool_call_id\"\ - : {\n \"anyOf\": [\n {\n \"type\": \"\ - string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The ID of the tool call that is being requested.\"\ - ,\n \"title\": \"Tool Call Id\"\n },\n \"name\"\ - : {\n \"anyOf\": [\n {\n \"type\": \"\ - string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The name of the tool that is being requested.\"\ - ,\n \"title\": \"Name\"\n },\n \"arguments\": {\n\ - \ \"anyOf\": [\n {\n \"additionalProperties\"\ - : true,\n \"type\": \"object\"\n },\n \ - \ {\n \"type\": \"null\"\n }\n ],\n\ - \ \"default\": null,\n \"description\": \"The arguments\ - \ to the tool.\",\n \"title\": \"Arguments\"\n }\n \ - \ },\n \"title\": \"ToolRequestContentEntityOptional\",\n \ - \ \"type\": \"object\"\n },\n \"ToolResponseContentEntityOptional\"\ - : {\n \"properties\": {\n \"type\": {\n \"anyOf\"\ - : [\n {\n \"const\": \"tool_response\",\n \ - \ \"type\": \"string\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"\ - default\": null,\n \"description\": \"The type of the message,\ - \ in this case `tool_response`.\",\n \"title\": \"Type\"\n \ - \ },\n \"author\": {\n \"anyOf\": [\n \ - \ {\n \"$ref\": \"#/$defs/MessageAuthor\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"\ - The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageStyle\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"The style of the message. This is used by the client\ - \ to determine how to display the message.\"\n },\n \"tool_call_id\"\ - : {\n \"anyOf\": [\n {\n \"type\": \"\ - string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The ID of the tool call that is being responded\ - \ to.\",\n \"title\": \"Tool Call Id\"\n },\n \"\ - name\": {\n \"anyOf\": [\n {\n \"type\"\ - : \"string\"\n },\n {\n \"type\": \"\ - null\"\n }\n ],\n \"default\": null,\n \ - \ \"description\": \"The name of the tool that is being responded\ - \ to.\",\n \"title\": \"Name\"\n },\n \"content\"\ - : {\n \"anyOf\": [\n {},\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"default\"\ - : null,\n \"description\": \"The result of the tool.\",\n \ - \ \"title\": \"Content\"\n },\n \"is_error\": {\n\ - \ \"anyOf\": [\n {\n \"type\": \"boolean\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"\ - description\": \"Whether the tool call resulted in an error. `None` when\ - \ the harness does not report a status.\",\n \"title\": \"Is\ - \ Error\"\n }\n },\n \"title\": \"ToolResponseContentEntityOptional\"\ - ,\n \"type\": \"object\"\n }\n },\n \"description\": \"Filter\ - \ model for TaskMessage - all fields optional for flexible filtering.\\\ - n\\nThe `exclude` field determines whether this filter is inclusionary\ - \ or exclusionary.\\nWhen multiple filters are provided:\\n- Inclusionary\ - \ filters (exclude=False) are OR'd together\\n- Exclusionary filters (exclude=True)\ - \ are OR'd together and negated with $nor\\n- The two groups are AND'd:\ - \ (include1 OR include2) AND NOT (exclude1 OR exclude2)\",\n \"properties\"\ - : {\n \"content\": {\n \"anyOf\": [\n {\n \"$ref\"\ - : \"#/$defs/ToolRequestContentEntityOptional\"\n },\n {\n\ - \ \"$ref\": \"#/$defs/DataContentEntityOptional\"\n },\n\ - \ {\n \"$ref\": \"#/$defs/TextContentEntityOptional\"\n\ - \ },\n {\n \"$ref\": \"#/$defs/ToolResponseContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/ReasoningContentEntityOptional\"\ - \n },\n {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"Filter by message\ - \ content\",\n \"title\": \"Content\"\n },\n \"streaming_status\"\ - : {\n \"anyOf\": [\n {\n \"enum\": [\n \ - \ \"IN_PROGRESS\",\n \"DONE\"\n ],\n \"\ - type\": \"string\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \"description\"\ - : \"Filter by streaming status\",\n \"title\": \"Streaming Status\"\ - \n },\n \"exclude\": {\n \"default\": false,\n \"description\"\ - : \"If true, this filter excludes matching messages\",\n \"title\"\ - : \"Exclude\",\n \"type\": \"boolean\"\n }\n },\n \"title\"\ - : \"TaskMessageEntityFilter\",\n \"type\": \"object\"\n}\n\nEach filter\ - \ can include:\n- `content`: Filter by message content (type, author,\ - \ data fields)\n- `streaming_status`: Filter by status (\"IN_PROGRESS\"\ - \ or \"DONE\")\n- `exclude`: If true, excludes matching messages (default:\ - \ false)\n\nMultiple filters are combined: inclusionary filters (exclude=false)\ - \ are OR'd together,\nexclusionary filters (exclude=true) are OR'd and\ - \ negated, then both groups are AND'd.\n" - title: Filters - description: "JSON-encoded array of TaskMessageEntityFilter objects.\n\nSchema:\ - \ {\n \"$defs\": {\n \"DataContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"data\",\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `data`.\",\n \"title\"\ - : \"Type\"\n },\n \"author\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageAuthor\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"data\": {\n \ - \ \"anyOf\": [\n {\n \"additionalProperties\": true,\n\ - \ \"type\": \"object\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"\ - default\": null,\n \"description\": \"The contents of the data\ - \ message.\",\n \"title\": \"Data\"\n }\n },\n \ - \ \"title\": \"DataContentEntityOptional\",\n \"type\": \"object\"\ - \n },\n \"FileAttachmentEntity\": {\n \"description\": \"Represents\ - \ a file attachment in messages.\",\n \"properties\": {\n \"\ - file_id\": {\n \"description\": \"The unique ID of the attached\ - \ file\",\n \"title\": \"File Id\",\n \"type\": \"string\"\ - \n },\n \"name\": {\n \"description\": \"The name\ - \ of the file\",\n \"title\": \"Name\",\n \"type\": \"\ - string\"\n },\n \"size\": {\n \"description\": \"\ - The size of the file in bytes\",\n \"title\": \"Size\",\n \ - \ \"type\": \"integer\"\n },\n \"type\": {\n \ - \ \"description\": \"The MIME type or content type of the file\",\n \ - \ \"title\": \"Type\",\n \"type\": \"string\"\n }\n\ - \ },\n \"required\": [\n \"file_id\",\n \"name\"\ - ,\n \"size\",\n \"type\"\n ],\n \"title\": \"FileAttachmentEntity\"\ - ,\n \"type\": \"object\"\n },\n \"MessageAuthor\": {\n \"\ - enum\": [\n \"user\",\n \"agent\"\n ],\n \"title\"\ - : \"MessageAuthor\",\n \"type\": \"string\"\n },\n \"MessageStyle\"\ - : {\n \"enum\": [\n \"static\",\n \"active\"\n ],\n\ - \ \"title\": \"MessageStyle\",\n \"type\": \"string\"\n },\n\ - \ \"ReasoningContentEntityOptional\": {\n \"properties\": {\n \ - \ \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"reasoning\",\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `reasoning`.\",\n \"\ - title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"summary\": {\n \ - \ \"anyOf\": [\n {\n \"items\": {\n \ - \ \"type\": \"string\"\n },\n \"type\":\ - \ \"array\"\n },\n {\n \"type\": \"null\"\ - \n }\n ],\n \"default\": null,\n \"\ - description\": \"A list of short reasoning summaries\",\n \"title\"\ - : \"Summary\"\n },\n \"content\": {\n \"anyOf\":\ - \ [\n {\n \"items\": {\n \"type\"\ - : \"string\"\n },\n \"type\": \"array\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The reasoning content or chain-of-thought text\",\n \"title\"\ - : \"Content\"\n }\n },\n \"title\": \"ReasoningContentEntityOptional\"\ - ,\n \"type\": \"object\"\n },\n \"TextContentEntityOptional\"\ - : {\n \"properties\": {\n \"type\": {\n \"anyOf\":\ - \ [\n {\n \"const\": \"text\",\n \"\ - type\": \"string\"\n },\n {\n \"type\"\ - : \"null\"\n }\n ],\n \"default\": null,\n\ - \ \"description\": \"The type of the message, in this case `text`.\"\ - ,\n \"title\": \"Type\"\n },\n \"author\": {\n \ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"format\": {\n \ - \ \"anyOf\": [\n {\n \"$ref\": \"#/$defs/TextFormat\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The format of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"content\": {\n \ - \ \"anyOf\": [\n {\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The contents of the text message.\",\n \"title\": \"Content\"\ - \n },\n \"attachments\": {\n \"anyOf\": [\n \ - \ {\n \"items\": {\n \"$ref\": \"#/$defs/FileAttachmentEntity\"\ - \n },\n \"type\": \"array\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"Optional\ - \ list of file attachments with structured metadata.\",\n \"title\"\ - : \"Attachments\"\n }\n },\n \"title\": \"TextContentEntityOptional\"\ - ,\n \"type\": \"object\"\n },\n \"TextFormat\": {\n \"enum\"\ - : [\n \"markdown\",\n \"plain\",\n \"code\"\n \ - \ ],\n \"title\": \"TextFormat\",\n \"type\": \"string\"\n \ - \ },\n \"ToolRequestContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"tool_request\",\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `tool_request`.\",\n \ - \ \"title\": \"Type\"\n },\n \"author\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\n\ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"tool_call_id\": {\n \ - \ \"anyOf\": [\n {\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The ID of the tool call that is being requested.\",\n \"title\"\ - : \"Tool Call Id\"\n },\n \"name\": {\n \"anyOf\"\ - : [\n {\n \"type\": \"string\"\n },\n\ - \ {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"The\ - \ name of the tool that is being requested.\",\n \"title\": \"\ - Name\"\n },\n \"arguments\": {\n \"anyOf\": [\n \ - \ {\n \"additionalProperties\": true,\n \ - \ \"type\": \"object\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \"default\"\ - : null,\n \"description\": \"The arguments to the tool.\",\n \ - \ \"title\": \"Arguments\"\n }\n },\n \"title\"\ - : \"ToolRequestContentEntityOptional\",\n \"type\": \"object\"\n \ - \ },\n \"ToolResponseContentEntityOptional\": {\n \"properties\"\ - : {\n \"type\": {\n \"anyOf\": [\n {\n \ - \ \"const\": \"tool_response\",\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The type of the message, in this case `tool_response`.\",\n \ - \ \"title\": \"Type\"\n },\n \"author\": {\n \"\ - anyOf\": [\n {\n \"$ref\": \"#/$defs/MessageAuthor\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The role of the messages author, in this case `system`, `user`, `assistant`,\ - \ or `tool`.\"\n },\n \"style\": {\n \"anyOf\": [\n\ - \ {\n \"$ref\": \"#/$defs/MessageStyle\"\n \ - \ },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The style of the message. This is used by the client to determine how\ - \ to display the message.\"\n },\n \"tool_call_id\": {\n \ - \ \"anyOf\": [\n {\n \"type\": \"string\"\ - \n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The ID of the tool call that is being responded to.\",\n \"\ - title\": \"Tool Call Id\"\n },\n \"name\": {\n \"\ - anyOf\": [\n {\n \"type\": \"string\"\n \ - \ },\n {\n \"type\": \"null\"\n }\n\ - \ ],\n \"default\": null,\n \"description\":\ - \ \"The name of the tool that is being responded to.\",\n \"title\"\ - : \"Name\"\n },\n \"content\": {\n \"anyOf\": [\n\ - \ {},\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\"\ - : \"The result of the tool.\",\n \"title\": \"Content\"\n \ - \ },\n \"is_error\": {\n \"anyOf\": [\n {\n\ - \ \"type\": \"boolean\"\n },\n {\n \ - \ \"type\": \"null\"\n }\n ],\n \ - \ \"default\": null,\n \"description\": \"Whether the tool call\ - \ resulted in an error. `None` when the harness does not report a status.\"\ - ,\n \"title\": \"Is Error\"\n }\n },\n \"title\"\ - : \"ToolResponseContentEntityOptional\",\n \"type\": \"object\"\n \ - \ }\n },\n \"description\": \"Filter model for TaskMessage - all fields\ - \ optional for flexible filtering.\\n\\nThe `exclude` field determines whether\ - \ this filter is inclusionary or exclusionary.\\nWhen multiple filters are\ - \ provided:\\n- Inclusionary filters (exclude=False) are OR'd together\\\ - n- Exclusionary filters (exclude=True) are OR'd together and negated with\ - \ $nor\\n- The two groups are AND'd: (include1 OR include2) AND NOT (exclude1\ - \ OR exclude2)\",\n \"properties\": {\n \"content\": {\n \"anyOf\"\ - : [\n {\n \"$ref\": \"#/$defs/ToolRequestContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/DataContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/TextContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/ToolResponseContentEntityOptional\"\ - \n },\n {\n \"$ref\": \"#/$defs/ReasoningContentEntityOptional\"\ - \n },\n {\n \"type\": \"null\"\n }\n \ - \ ],\n \"default\": null,\n \"description\": \"Filter by message\ - \ content\",\n \"title\": \"Content\"\n },\n \"streaming_status\"\ - : {\n \"anyOf\": [\n {\n \"enum\": [\n \"\ - IN_PROGRESS\",\n \"DONE\"\n ],\n \"type\":\ - \ \"string\"\n },\n {\n \"type\": \"null\"\n \ - \ }\n ],\n \"default\": null,\n \"description\": \"Filter\ - \ by streaming status\",\n \"title\": \"Streaming Status\"\n },\n\ - \ \"exclude\": {\n \"default\": false,\n \"description\": \"\ - If true, this filter excludes matching messages\",\n \"title\": \"\ - Exclude\",\n \"type\": \"boolean\"\n }\n },\n \"title\": \"TaskMessageEntityFilter\"\ - ,\n \"type\": \"object\"\n}\n\nEach filter can include:\n- `content`: Filter\ - \ by message content (type, author, data fields)\n- `streaming_status`:\ - \ Filter by status (\"IN_PROGRESS\" or \"DONE\")\n- `exclude`: If true,\ - \ excludes matching messages (default: false)\n\nMultiple filters are combined:\ - \ inclusionary filters (exclude=false) are OR'd together,\nexclusionary\ - \ filters (exclude=true) are OR'd and negated, then both groups are AND'd.\n" - examples: - single_filter: - summary: Filter by content type - value: '{"content": {"type": "text"}}' - multiple_types: - summary: Filter multiple content types (OR) - value: '[{"content": {"type": "text"}}, {"content": {"type": "data"}}]' - with_exclusion: - summary: Include data messages, exclude specific data types - value: '[{"content": {"type": "data"}}, {"content": {"data": {"type": - "error_report"}}, "exclude": true}]' - nested_data: - summary: Filter by nested data field - value: '{"content": {"data": {"type": "report_status_update"}}}' - - name: task_id - in: query - required: true - schema: - type: string + - name: limit + in: query + required: false + schema: + type: integer + default: 50 + title: Limit + - name: cursor + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Cursor + - name: direction + in: query + required: false + schema: + enum: + - older + - newer + type: string + default: older + title: Direction + - name: filters + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: > + JSON-encoded array of TaskMessageEntityFilter objects. + + + Schema: { + "$defs": { + "DataContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "data", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `data`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "data": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The contents of the data message.", + "title": "Data" + } + }, + "title": "DataContentEntityOptional", + "type": "object" + }, + "FileAttachmentEntity": { + "description": "Represents a file attachment in messages.", + "properties": { + "file_id": { + "description": "The unique ID of the attached file", + "title": "File Id", + "type": "string" + }, + "name": { + "description": "The name of the file", + "title": "Name", + "type": "string" + }, + "size": { + "description": "The size of the file in bytes", + "title": "Size", + "type": "integer" + }, + "type": { + "description": "The MIME type or content type of the file", + "title": "Type", + "type": "string" + } + }, + "required": [ + "file_id", + "name", + "size", + "type" + ], + "title": "FileAttachmentEntity", + "type": "object" + }, + "MessageAuthor": { + "enum": [ + "user", + "agent" + ], + "title": "MessageAuthor", + "type": "string" + }, + "MessageStyle": { + "enum": [ + "static", + "active" + ], + "title": "MessageStyle", + "type": "string" + }, + "ReasoningContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "reasoning", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `reasoning`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "summary": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "A list of short reasoning summaries", + "title": "Summary" + }, + "content": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The reasoning content or chain-of-thought text", + "title": "Content" + } + }, + "title": "ReasoningContentEntityOptional", + "type": "object" + }, + "TextContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "text", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `text`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "format": { + "anyOf": [ + { + "$ref": "#/$defs/TextFormat" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The format of the message. This is used by the client to determine how to display the message." + }, + "content": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The contents of the text message.", + "title": "Content" + }, + "attachments": { + "anyOf": [ + { + "items": { + "$ref": "#/$defs/FileAttachmentEntity" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional list of file attachments with structured metadata.", + "title": "Attachments" + } + }, + "title": "TextContentEntityOptional", + "type": "object" + }, + "TextFormat": { + "enum": [ + "markdown", + "plain", + "code" + ], + "title": "TextFormat", + "type": "string" + }, + "ToolRequestContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "tool_request", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `tool_request`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "tool_call_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The ID of the tool call that is being requested.", + "title": "Tool Call Id" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The name of the tool that is being requested.", + "title": "Name" + }, + "arguments": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The arguments to the tool.", + "title": "Arguments" + } + }, + "title": "ToolRequestContentEntityOptional", + "type": "object" + }, + "ToolResponseContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "tool_response", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `tool_response`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "tool_call_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The ID of the tool call that is being responded to.", + "title": "Tool Call Id" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The name of the tool that is being responded to.", + "title": "Name" + }, + "content": { + "anyOf": [ + {}, + { + "type": "null" + } + ], + "default": null, + "description": "The result of the tool.", + "title": "Content" + }, + "is_error": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Whether the tool call resulted in an error. `None` when the harness does not report a status.", + "title": "Is Error" + } + }, + "title": "ToolResponseContentEntityOptional", + "type": "object" + } + }, + "description": "Filter model for TaskMessage - all fields optional for flexible filtering.\n\nThe `exclude` field determines whether this filter is inclusionary or exclusionary.\nWhen multiple filters are provided:\n- Inclusionary filters (exclude=False) are OR'd together\n- Exclusionary filters (exclude=True) are OR'd together and negated with $nor\n- The two groups are AND'd: (include1 OR include2) AND NOT (exclude1 OR exclude2)", + "properties": { + "content": { + "anyOf": [ + { + "$ref": "#/$defs/ToolRequestContentEntityOptional" + }, + { + "$ref": "#/$defs/DataContentEntityOptional" + }, + { + "$ref": "#/$defs/TextContentEntityOptional" + }, + { + "$ref": "#/$defs/ToolResponseContentEntityOptional" + }, + { + "$ref": "#/$defs/ReasoningContentEntityOptional" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Filter by message content", + "title": "Content" + }, + "streaming_status": { + "anyOf": [ + { + "enum": [ + "IN_PROGRESS", + "DONE" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Filter by streaming status", + "title": "Streaming Status" + }, + "exclude": { + "default": false, + "description": "If true, this filter excludes matching messages", + "title": "Exclude", + "type": "boolean" + } + }, + "title": "TaskMessageEntityFilter", + "type": "object" + } + + + Each filter can include: + + - `content`: Filter by message content (type, author, data fields) + + - `streaming_status`: Filter by status ("IN_PROGRESS" or "DONE") + + - `exclude`: If true, excludes matching messages (default: false) + + + Multiple filters are combined: inclusionary filters + (exclude=false) are OR'd together, + + exclusionary filters (exclude=true) are OR'd and negated, then + both groups are AND'd. + title: Filters + description: > + JSON-encoded array of TaskMessageEntityFilter objects. + + + Schema: { + "$defs": { + "DataContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "data", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `data`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "data": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The contents of the data message.", + "title": "Data" + } + }, + "title": "DataContentEntityOptional", + "type": "object" + }, + "FileAttachmentEntity": { + "description": "Represents a file attachment in messages.", + "properties": { + "file_id": { + "description": "The unique ID of the attached file", + "title": "File Id", + "type": "string" + }, + "name": { + "description": "The name of the file", + "title": "Name", + "type": "string" + }, + "size": { + "description": "The size of the file in bytes", + "title": "Size", + "type": "integer" + }, + "type": { + "description": "The MIME type or content type of the file", + "title": "Type", + "type": "string" + } + }, + "required": [ + "file_id", + "name", + "size", + "type" + ], + "title": "FileAttachmentEntity", + "type": "object" + }, + "MessageAuthor": { + "enum": [ + "user", + "agent" + ], + "title": "MessageAuthor", + "type": "string" + }, + "MessageStyle": { + "enum": [ + "static", + "active" + ], + "title": "MessageStyle", + "type": "string" + }, + "ReasoningContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "reasoning", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `reasoning`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "summary": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "A list of short reasoning summaries", + "title": "Summary" + }, + "content": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The reasoning content or chain-of-thought text", + "title": "Content" + } + }, + "title": "ReasoningContentEntityOptional", + "type": "object" + }, + "TextContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "text", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `text`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "format": { + "anyOf": [ + { + "$ref": "#/$defs/TextFormat" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The format of the message. This is used by the client to determine how to display the message." + }, + "content": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The contents of the text message.", + "title": "Content" + }, + "attachments": { + "anyOf": [ + { + "items": { + "$ref": "#/$defs/FileAttachmentEntity" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Optional list of file attachments with structured metadata.", + "title": "Attachments" + } + }, + "title": "TextContentEntityOptional", + "type": "object" + }, + "TextFormat": { + "enum": [ + "markdown", + "plain", + "code" + ], + "title": "TextFormat", + "type": "string" + }, + "ToolRequestContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "tool_request", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `tool_request`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "tool_call_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The ID of the tool call that is being requested.", + "title": "Tool Call Id" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The name of the tool that is being requested.", + "title": "Name" + }, + "arguments": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The arguments to the tool.", + "title": "Arguments" + } + }, + "title": "ToolRequestContentEntityOptional", + "type": "object" + }, + "ToolResponseContentEntityOptional": { + "properties": { + "type": { + "anyOf": [ + { + "const": "tool_response", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The type of the message, in this case `tool_response`.", + "title": "Type" + }, + "author": { + "anyOf": [ + { + "$ref": "#/$defs/MessageAuthor" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`." + }, + "style": { + "anyOf": [ + { + "$ref": "#/$defs/MessageStyle" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The style of the message. This is used by the client to determine how to display the message." + }, + "tool_call_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The ID of the tool call that is being responded to.", + "title": "Tool Call Id" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The name of the tool that is being responded to.", + "title": "Name" + }, + "content": { + "anyOf": [ + {}, + { + "type": "null" + } + ], + "default": null, + "description": "The result of the tool.", + "title": "Content" + }, + "is_error": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Whether the tool call resulted in an error. `None` when the harness does not report a status.", + "title": "Is Error" + } + }, + "title": "ToolResponseContentEntityOptional", + "type": "object" + } + }, + "description": "Filter model for TaskMessage - all fields optional for flexible filtering.\n\nThe `exclude` field determines whether this filter is inclusionary or exclusionary.\nWhen multiple filters are provided:\n- Inclusionary filters (exclude=False) are OR'd together\n- Exclusionary filters (exclude=True) are OR'd together and negated with $nor\n- The two groups are AND'd: (include1 OR include2) AND NOT (exclude1 OR exclude2)", + "properties": { + "content": { + "anyOf": [ + { + "$ref": "#/$defs/ToolRequestContentEntityOptional" + }, + { + "$ref": "#/$defs/DataContentEntityOptional" + }, + { + "$ref": "#/$defs/TextContentEntityOptional" + }, + { + "$ref": "#/$defs/ToolResponseContentEntityOptional" + }, + { + "$ref": "#/$defs/ReasoningContentEntityOptional" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Filter by message content", + "title": "Content" + }, + "streaming_status": { + "anyOf": [ + { + "enum": [ + "IN_PROGRESS", + "DONE" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Filter by streaming status", + "title": "Streaming Status" + }, + "exclude": { + "default": false, + "description": "If true, this filter excludes matching messages", + "title": "Exclude", + "type": "boolean" + } + }, + "title": "TaskMessageEntityFilter", + "type": "object" + } + + + Each filter can include: + + - `content`: Filter by message content (type, author, data fields) + + - `streaming_status`: Filter by status ("IN_PROGRESS" or "DONE") + + - `exclude`: If true, excludes matching messages (default: false) + + + Multiple filters are combined: inclusionary filters (exclude=false) + are OR'd together, + + exclusionary filters (exclude=true) are OR'd and negated, then both + groups are AND'd. + examples: + single_filter: + summary: Filter by content type + value: '{"content": {"type": "text"}}' + multiple_types: + summary: Filter multiple content types (OR) + value: '[{"content": {"type": "text"}}, {"content": {"type": "data"}}]' + with_exclusion: + summary: Include data messages, exclude specific data types + value: >- + [{"content": {"type": "data"}}, {"content": {"data": {"type": + "error_report"}}, "exclude": true}] + nested_data: + summary: Filter by nested data field + value: '{"content": {"data": {"type": "report_status_update"}}}' + - name: task_id + in: query + required: true + schema: + type: string + description: The task ID + title: Task Id description: The task ID - title: Task Id - description: The task ID responses: '200': description: Successful Response @@ -2063,7 +3376,7 @@ paths: /spans: post: tags: - - Spans + - Spans summary: Create Span description: Create a new span with the provided parameters operationId: create_span_spans_post @@ -2088,59 +3401,59 @@ paths: $ref: '#/components/schemas/HTTPValidationError' get: tags: - - Spans + - Spans summary: List Spans description: List spans, optionally filtered by trace_id and/or task_id operationId: list_spans_spans_get parameters: - - name: trace_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Trace Id - - name: task_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Task Id - - name: limit - in: query - required: false - schema: - type: integer - maximum: 1000 - minimum: 1 - default: 50 - title: Limit - - name: page_number - in: query - required: false - schema: - type: integer - minimum: 1 - default: 1 - title: Page Number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Order By - - name: order_direction - in: query - required: false - schema: - type: string - default: desc - title: Order Direction + - name: trace_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Trace Id + - name: task_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Task Id + - name: limit + in: query + required: false + schema: + type: integer + maximum: 1000 + minimum: 1 + default: 50 + title: Limit + - name: page_number + in: query + required: false + schema: + type: integer + minimum: 1 + default: 1 + title: Page Number + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Order By + - name: order_direction + in: query + required: false + schema: + type: string + default: desc + title: Order Direction responses: '200': description: Successful Response @@ -2160,17 +3473,17 @@ paths: /spans/{span_id}: patch: tags: - - Spans + - Spans summary: Partial Update Span description: Update a span with the provided output data and mark it as complete operationId: partial_update_span_spans__span_id__patch parameters: - - name: span_id - in: path - required: true - schema: - type: string - title: Span Id + - name: span_id + in: path + required: true + schema: + type: string + title: Span Id requestBody: required: true content: @@ -2192,17 +3505,17 @@ paths: $ref: '#/components/schemas/HTTPValidationError' get: tags: - - Spans + - Spans summary: Get Span description: Get a span by ID operationId: get_span_spans__span_id__get parameters: - - name: span_id - in: path - required: true - schema: - type: string - title: Span Id + - name: span_id + in: path + required: true + schema: + type: string + title: Span Id responses: '200': description: Successful Response @@ -2219,7 +3532,7 @@ paths: /states: post: tags: - - States + - States summary: Create Task State operationId: create_task_state_states_post requestBody: @@ -2243,70 +3556,70 @@ paths: $ref: '#/components/schemas/HTTPValidationError' get: tags: - - States + - States summary: List States description: List all states, optionally filtered by query parameters. operationId: filter_states_states_get parameters: - - name: task_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' + - name: task_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Task ID + title: Task Id description: Task ID - title: Task Id - description: Task ID - - name: agent_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' + - name: agent_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Agent ID + title: Agent Id description: Agent ID - title: Agent Id - description: Agent ID - - name: limit - in: query - required: false - schema: - type: integer - minimum: 1 + - name: limit + in: query + required: false + schema: + type: integer + minimum: 1 + description: Limit + default: 50 + title: Limit description: Limit - default: 50 - title: Limit - description: Limit - - name: page_number - in: query - required: false - schema: - type: integer - minimum: 1 + - name: page_number + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page Number description: Page number - default: 1 - title: Page Number - description: Page number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Field to order by + title: Order By description: Field to order by - title: Order By - description: Field to order by - - name: order_direction - in: query - required: false - schema: - type: string + - name: order_direction + in: query + required: false + schema: + type: string + description: Order direction (asc or desc) + default: desc + title: Order Direction description: Order direction (asc or desc) - default: desc - title: Order Direction - description: Order direction (asc or desc) responses: '200': description: Successful Response @@ -2326,17 +3639,17 @@ paths: /states/{state_id}: get: tags: - - States + - States summary: Get State by State ID description: Get a state by its unique state ID. operationId: get_state_states__state_id__get parameters: - - name: state_id - in: path - required: true - schema: - type: string - title: State Id + - name: state_id + in: path + required: true + schema: + type: string + title: State Id responses: '200': description: Successful Response @@ -2352,16 +3665,16 @@ paths: $ref: '#/components/schemas/HTTPValidationError' put: tags: - - States + - States summary: Update Task State operationId: update_task_state_states__state_id__put parameters: - - name: state_id - in: path - required: true - schema: - type: string - title: State Id + - name: state_id + in: path + required: true + schema: + type: string + title: State Id requestBody: required: true content: @@ -2383,16 +3696,16 @@ paths: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - - States + - States summary: Delete Task State operationId: delete_task_state_states__state_id__delete parameters: - - name: state_id - in: path - required: true - schema: - type: string - title: State Id + - name: state_id + in: path + required: true + schema: + type: string + title: State Id responses: '200': description: Successful Response @@ -2409,16 +3722,16 @@ paths: /events/{event_id}: get: tags: - - Events + - Events summary: Get Event operationId: get_event_events__event_id__get parameters: - - name: event_id - in: path - required: true - schema: - type: string - title: Event Id + - name: event_id + in: path + required: true + schema: + type: string + title: Event Id responses: '200': description: Successful Response @@ -2435,54 +3748,53 @@ paths: /events: get: tags: - - Events + - Events summary: List Events - description: 'List events for a specific task and agent. - + description: |- + List events for a specific task and agent. Optionally filter for events after a specific sequence ID. - - Results are ordered by sequence_id.' + Results are ordered by sequence_id. operationId: list_events_events_get parameters: - - name: last_processed_event_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' + - name: last_processed_event_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Optional event ID to get events after this ID + title: Last Processed Event Id description: Optional event ID to get events after this ID - title: Last Processed Event Id - description: Optional event ID to get events after this ID - - name: limit - in: query - required: false - schema: - anyOf: - - type: integer - maximum: 1000 - minimum: 1 - - type: 'null' + - name: limit + in: query + required: false + schema: + anyOf: + - type: integer + maximum: 1000 + minimum: 1 + - type: 'null' + description: Optional limit on number of results + title: Limit description: Optional limit on number of results - title: Limit - description: Optional limit on number of results - - name: task_id - in: query - required: true - schema: - type: string + - name: task_id + in: query + required: true + schema: + type: string + description: The task ID to filter events by + title: Task Id description: The task ID to filter events by - title: Task Id - description: The task ID to filter events by - - name: agent_id - in: query - required: true - schema: - type: string + - name: agent_id + in: query + required: true + schema: + type: string + description: The agent ID to filter events by + title: Agent Id description: The agent ID to filter events by - title: Agent Id - description: The agent ID to filter events by responses: '200': description: Successful Response @@ -2502,17 +3814,17 @@ paths: /tracker/{tracker_id}: get: tags: - - Agent Task Tracker + - Agent Task Tracker summary: Get Agent Task Tracker description: Get agent task tracker by tracker ID operationId: get_agent_task_tracker_tracker__tracker_id__get parameters: - - name: tracker_id - in: path - required: true - schema: - type: string - title: Tracker Id + - name: tracker_id + in: path + required: true + schema: + type: string + title: Tracker Id responses: '200': description: Successful Response @@ -2528,17 +3840,17 @@ paths: $ref: '#/components/schemas/HTTPValidationError' put: tags: - - Agent Task Tracker + - Agent Task Tracker summary: Update Agent Task Tracker description: Update agent task tracker by tracker ID operationId: update_agent_task_tracker_tracker__tracker_id__put parameters: - - name: tracker_id - in: path - required: true - schema: - type: string - title: Tracker Id + - name: tracker_id + in: path + required: true + schema: + type: string + title: Tracker Id requestBody: required: true content: @@ -2561,70 +3873,70 @@ paths: /tracker: get: tags: - - Agent Task Tracker + - Agent Task Tracker summary: List Agent Task Trackers description: List all agent task trackers, optionally filtered by query parameters. operationId: filter_agent_task_tracker_tracker_get parameters: - - name: agent_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' + - name: agent_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Agent ID + title: Agent Id description: Agent ID - title: Agent Id - description: Agent ID - - name: task_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' + - name: task_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Task ID + title: Task Id description: Task ID - title: Task Id - description: Task ID - - name: limit - in: query - required: false - schema: - type: integer - minimum: 1 + - name: limit + in: query + required: false + schema: + type: integer + minimum: 1 + description: Limit + default: 50 + title: Limit description: Limit - default: 50 - title: Limit - description: Limit - - name: page_number - in: query - required: false - schema: - type: integer - minimum: 1 + - name: page_number + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page Number description: Page number - default: 1 - title: Page Number - description: Page number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Field to order by + title: Order By description: Field to order by - title: Order By - description: Field to order by - - name: order_direction - in: query - required: false - schema: - type: string + - name: order_direction + in: query + required: false + schema: + type: string + description: Order direction (asc or desc) + default: desc + title: Order Direction description: Order direction (asc or desc) - default: desc - title: Order Direction - description: Order direction (asc or desc) responses: '200': description: Successful Response @@ -2644,7 +3956,7 @@ paths: /agent_api_keys: post: tags: - - Agent APIKeys + - Agent APIKeys summary: Create Api Key operationId: create_api_key_agent_api_keys_post requestBody: @@ -2668,44 +3980,44 @@ paths: $ref: '#/components/schemas/HTTPValidationError' get: tags: - - Agent APIKeys + - Agent APIKeys summary: List API keys for an agent ID description: List API keys for an agent ID. operationId: list_agent_api_keys_agent_api_keys_get parameters: - - name: agent_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Id - - name: agent_name - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Name - - name: limit - in: query - required: false - schema: - type: integer - maximum: 1000 - minimum: 1 - default: 50 - title: Limit - - name: page_number - in: query - required: false - schema: - type: integer - minimum: 1 - default: 1 - title: Page Number + - name: agent_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Id + - name: agent_name + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Name + - name: limit + in: query + required: false + schema: + type: integer + maximum: 1000 + minimum: 1 + default: 50 + title: Limit + - name: page_number + in: query + required: false + schema: + type: integer + minimum: 1 + default: 1 + title: Page Number responses: '200': description: Successful Response @@ -2725,24 +4037,25 @@ paths: /agent_api_keys/webhook-trigger: post: tags: - - Agent APIKeys + - Agent APIKeys summary: Create Webhook Trigger - description: 'Wire a webhook trigger in one call. + description: >- + Wire a webhook trigger in one call. - Registers the source''s signature-verification key (github/slack) for the + Registers the source's signature-verification key (github/slack) for the agent and - returns the ready-to-paste forward webhook URL plus the signing secret (shown - once). + returns the ready-to-paste forward webhook URL plus the signing secret + (shown once). - The webhook then flows through the existing /agents/forward ingress, which - verifies + The webhook then flows through the existing /agents/forward ingress, + which verifies - the signature against this key. Bundles the existing key-create + URL composition - so + the signature against this key. Bundles the existing key-create + URL + composition so - a UI (or a curl) can set up a trigger without two steps.' + a UI (or a curl) can set up a trigger without two steps. operationId: create_webhook_trigger_agent_api_keys_webhook_trigger_post requestBody: content: @@ -2766,39 +4079,39 @@ paths: /agent_api_keys/name/{name}: get: tags: - - Agent APIKeys + - Agent APIKeys summary: Return named API key for the agent ID description: Return named API key for the agent ID. operationId: get_agent_api_key_by_name_agent_api_keys_name__name__get parameters: - - name: name - in: path - required: true - schema: - type: string - title: Name - - name: agent_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Id - - name: agent_name - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Name - - name: api_key_type - in: query - required: false - schema: - $ref: '#/components/schemas/AgentAPIKeyType' - default: external + - name: name + in: path + required: true + schema: + type: string + title: Name + - name: agent_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Id + - name: agent_name + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Name + - name: api_key_type + in: query + required: false + schema: + $ref: '#/components/schemas/AgentAPIKeyType' + default: external responses: '200': description: Successful Response @@ -2815,17 +4128,17 @@ paths: /agent_api_keys/{id}: get: tags: - - Agent APIKeys + - Agent APIKeys summary: Return the API key by ID description: Return API key by ID. operationId: get_agent_api_key_agent_api_keys__id__get parameters: - - name: id - in: path - required: true - schema: - type: string - title: Id + - name: id + in: path + required: true + schema: + type: string + title: Id responses: '200': description: Successful Response @@ -2841,17 +4154,17 @@ paths: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - - Agent APIKeys + - Agent APIKeys summary: Delete API key by ID description: Delete API key by ID. operationId: delete_agent_api_key_agent_api_keys__id__delete parameters: - - name: id - in: path - required: true - schema: - type: string - title: Id + - name: id + in: path + required: true + schema: + type: string + title: Id responses: '200': description: Successful Response @@ -2869,39 +4182,39 @@ paths: /agent_api_keys/name/{api_key_name}: delete: tags: - - Agent APIKeys + - Agent APIKeys summary: Delete API key by name description: Delete API key by name. operationId: delete_agent_api_key_by_name_agent_api_keys_name__api_key_name__delete parameters: - - name: api_key_name - in: path - required: true - schema: - type: string - title: Api Key Name - - name: agent_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Id - - name: agent_name - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Name - - name: api_key_type - in: query - required: false - schema: - $ref: '#/components/schemas/AgentAPIKeyType' - default: external + - name: api_key_name + in: path + required: true + schema: + type: string + title: Api Key Name + - name: agent_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Id + - name: agent_name + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Name + - name: api_key_type + in: query + required: false + schema: + $ref: '#/components/schemas/AgentAPIKeyType' + default: external responses: '200': description: Successful Response @@ -2909,7 +4222,8 @@ paths: application/json: schema: type: string - title: Response Delete Agent Api Key By Name Agent Api Keys Name Api + title: >- + Response Delete Agent Api Key By Name Agent Api Keys Name Api Key Name Delete '422': description: Validation Error @@ -2920,17 +4234,17 @@ paths: /deployment-history/{deployment_id}: get: tags: - - Deployment History + - Deployment History summary: Get Deployment by ID description: Get a deployment record by its unique ID. operationId: get_deployment_by_id_deployment_history__deployment_id__get parameters: - - name: deployment_id - in: path - required: true - schema: - type: string - title: Deployment Id + - name: deployment_id + in: path + required: true + schema: + type: string + title: Deployment Id responses: '200': description: Successful Response @@ -2947,56 +4261,56 @@ paths: /deployment-history: get: tags: - - Deployment History + - Deployment History summary: List Deployments for an agent description: List deployment history for an agent. operationId: list_deployments_deployment_history_get parameters: - - name: agent_id - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Id - - name: agent_name - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Agent Name - - name: limit - in: query - required: false - schema: - type: integer - default: 50 - title: Limit - - name: page_number - in: query - required: false - schema: - type: integer - default: 1 - title: Page Number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' - title: Order By - - name: order_direction - in: query - required: false - schema: - type: string - default: desc - title: Order Direction + - name: agent_id + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Id + - name: agent_name + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Agent Name + - name: limit + in: query + required: false + schema: + type: integer + default: 50 + title: Limit + - name: page_number + in: query + required: false + schema: + type: integer + default: 1 + title: Page Number + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + title: Order By + - name: order_direction + in: query + required: false + schema: + type: string + default: desc + title: Order Direction responses: '200': description: Successful Response @@ -3016,17 +4330,17 @@ paths: /agents/{agent_id}/deployments: post: tags: - - Deployments + - Deployments summary: Create Deployment description: Create a new deployment record in PENDING status. operationId: create_deployment_agents__agent_id__deployments_post parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id requestBody: required: true content: @@ -3048,56 +4362,56 @@ paths: $ref: '#/components/schemas/HTTPValidationError' get: tags: - - Deployments + - Deployments summary: List Deployments description: List deployments for an agent, newest first. operationId: list_deployments_agents__agent_id__deployments_get parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: limit - in: query - required: false - schema: - type: integer - minimum: 1 + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: limit + in: query + required: false + schema: + type: integer + minimum: 1 + description: Limit + default: 50 + title: Limit description: Limit - default: 50 - title: Limit - description: Limit - - name: page_number - in: query - required: false - schema: - type: integer - minimum: 1 + - name: page_number + in: query + required: false + schema: + type: integer + minimum: 1 + description: Page number + default: 1 + title: Page Number description: Page number - default: 1 - title: Page Number - description: Page number - - name: order_by - in: query - required: false - schema: - anyOf: - - type: string - - type: 'null' + - name: order_by + in: query + required: false + schema: + anyOf: + - type: string + - type: 'null' + description: Field to order by + title: Order By description: Field to order by - title: Order By - description: Field to order by - - name: order_direction - in: query - required: false - schema: - type: string + - name: order_direction + in: query + required: false + schema: + type: string + description: Order direction (asc or desc) + default: desc + title: Order Direction description: Order direction (asc or desc) - default: desc - title: Order Direction - description: Order direction (asc or desc) responses: '200': description: Successful Response @@ -3117,23 +4431,23 @@ paths: /agents/{agent_id}/deployments/{deployment_id}: get: tags: - - Deployments + - Deployments summary: Get Deployment description: Get a specific deployment by ID. operationId: get_deployment_agents__agent_id__deployments__deployment_id__get parameters: - - name: deployment_id - in: path - required: true - schema: - type: string - title: Deployment Id - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id + - name: deployment_id + in: path + required: true + schema: + type: string + title: Deployment Id + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id responses: '200': description: Successful Response @@ -3149,23 +4463,23 @@ paths: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - - Deployments + - Deployments summary: Delete Deployment description: Delete a non-production deployment. operationId: delete_deployment_agents__agent_id__deployments__deployment_id__delete parameters: - - name: deployment_id - in: path - required: true - schema: - type: string - title: Deployment Id - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id + - name: deployment_id + in: path + required: true + schema: + type: string + title: Deployment Id + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id responses: '200': description: Successful Response @@ -3182,23 +4496,24 @@ paths: /agents/{agent_id}/deployments/{deployment_id}/promote: post: tags: - - Deployments + - Deployments summary: Promote Deployment description: Promote a deployment to production with atomic cutover. - operationId: promote_deployment_agents__agent_id__deployments__deployment_id__promote_post + operationId: >- + promote_deployment_agents__agent_id__deployments__deployment_id__promote_post parameters: - - name: deployment_id - in: path - required: true - schema: - type: string - title: Deployment Id - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id + - name: deployment_id + in: path + required: true + schema: + type: string + title: Deployment Id + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id responses: '200': description: Successful Response @@ -3215,23 +4530,24 @@ paths: /agents/{agent_id}/deployments/{deployment_id}/rpc: post: tags: - - Deployments + - Deployments summary: Preview RPC description: Send an RPC request to a specific deployment (for preview testing). - operationId: handle_deployment_rpc_agents__agent_id__deployments__deployment_id__rpc_post + operationId: >- + handle_deployment_rpc_agents__agent_id__deployments__deployment_id__rpc_post parameters: - - name: deployment_id - in: path - required: true - schema: - type: string - title: Deployment Id - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id + - name: deployment_id + in: path + required: true + schema: + type: string + title: Deployment Id + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id requestBody: required: true content: @@ -3254,17 +4570,17 @@ paths: /agents/{agent_id}/schedules: post: tags: - - Schedules + - Schedules summary: Create Schedule description: Create a new schedule for recurring workflow execution for an agent. operationId: create_schedule_agents__agent_id__schedules_post parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id requestBody: required: true content: @@ -3286,26 +4602,26 @@ paths: $ref: '#/components/schemas/HTTPValidationError' get: tags: - - Schedules + - Schedules summary: List Agent Schedules description: List all schedules for an agent. operationId: list_schedules_agents__agent_id__schedules_get parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: page_size - in: query - required: false - schema: - type: integer - maximum: 1000 - minimum: 1 - default: 100 - title: Page Size + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: page_size + in: query + required: false + schema: + type: integer + maximum: 1000 + minimum: 1 + default: 100 + title: Page Size responses: '200': description: Successful Response @@ -3322,23 +4638,23 @@ paths: /agents/{agent_id}/schedules/{schedule_name}: get: tags: - - Schedules + - Schedules summary: Get Schedule description: Get details of a schedule by its name. operationId: get_schedule_agents__agent_id__schedules__schedule_name__get parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: schedule_name - in: path - required: true - schema: - type: string - title: Schedule Name + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: schedule_name + in: path + required: true + schema: + type: string + title: Schedule Name responses: '200': description: Successful Response @@ -3354,23 +4670,23 @@ paths: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - - Schedules + - Schedules summary: Delete Schedule description: Delete a schedule permanently. operationId: delete_schedule_agents__agent_id__schedules__schedule_name__delete parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: schedule_name - in: path - required: true - schema: - type: string - title: Schedule Name + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: schedule_name + in: path + required: true + schema: + type: string + title: Schedule Name responses: '200': description: Successful Response @@ -3387,30 +4703,30 @@ paths: /agents/{agent_id}/schedules/{schedule_name}/pause: post: tags: - - Schedules + - Schedules summary: Pause Schedule description: Pause a schedule to stop it from executing. operationId: pause_schedule_agents__agent_id__schedules__schedule_name__pause_post parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: schedule_name - in: path - required: true - schema: - type: string - title: Schedule Name + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: schedule_name + in: path + required: true + schema: + type: string + title: Schedule Name requestBody: content: application/json: schema: anyOf: - - $ref: '#/components/schemas/PauseScheduleRequest' - - type: 'null' + - $ref: '#/components/schemas/PauseScheduleRequest' + - type: 'null' title: Request responses: '200': @@ -3428,30 +4744,31 @@ paths: /agents/{agent_id}/schedules/{schedule_name}/unpause: post: tags: - - Schedules + - Schedules summary: Unpause Schedule description: Unpause/resume a schedule to allow it to execute again. - operationId: unpause_schedule_agents__agent_id__schedules__schedule_name__unpause_post + operationId: >- + unpause_schedule_agents__agent_id__schedules__schedule_name__unpause_post parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: schedule_name - in: path - required: true - schema: - type: string - title: Schedule Name + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: schedule_name + in: path + required: true + schema: + type: string + title: Schedule Name requestBody: content: application/json: schema: anyOf: - - $ref: '#/components/schemas/UnpauseScheduleRequest' - - type: 'null' + - $ref: '#/components/schemas/UnpauseScheduleRequest' + - type: 'null' title: Request responses: '200': @@ -3468,25 +4785,27 @@ paths: $ref: '#/components/schemas/HTTPValidationError' /agents/{agent_id}/schedules/{schedule_name}/trigger: post: - tags: - - Schedules - summary: Trigger Schedule - description: Trigger a schedule to run immediately, regardless of its regular - schedule. - operationId: trigger_schedule_agents__agent_id__schedules__schedule_name__trigger_post - parameters: - - name: agent_id - in: path - required: true - schema: - type: string - title: Agent Id - - name: schedule_name - in: path - required: true - schema: - type: string - title: Schedule Name + tags: + - Schedules + summary: Trigger Schedule + description: >- + Trigger a schedule to run immediately, regardless of its regular + schedule. + operationId: >- + trigger_schedule_agents__agent_id__schedules__schedule_name__trigger_post + parameters: + - name: agent_id + in: path + required: true + schema: + type: string + title: Agent Id + - name: schedule_name + in: path + required: true + schema: + type: string + title: Schedule Name responses: '200': description: Successful Response @@ -3503,7 +4822,7 @@ paths: /checkpoints/get-tuple: post: tags: - - Checkpoints + - Checkpoints summary: Get Checkpoint Tuple operationId: get_checkpoint_tuple_checkpoints_get_tuple_post requestBody: @@ -3519,8 +4838,8 @@ paths: application/json: schema: anyOf: - - $ref: '#/components/schemas/CheckpointTupleResponse' - - type: 'null' + - $ref: '#/components/schemas/CheckpointTupleResponse' + - type: 'null' title: Response Get Checkpoint Tuple Checkpoints Get Tuple Post '422': description: Validation Error @@ -3531,7 +4850,7 @@ paths: /checkpoints/put: post: tags: - - Checkpoints + - Checkpoints summary: Put Checkpoint operationId: put_checkpoint_checkpoints_put_post requestBody: @@ -3556,7 +4875,7 @@ paths: /checkpoints/put-writes: post: tags: - - Checkpoints + - Checkpoints summary: Put Writes operationId: put_writes_checkpoints_put_writes_post requestBody: @@ -3577,7 +4896,7 @@ paths: /checkpoints/list: post: tags: - - Checkpoints + - Checkpoints summary: List Checkpoints operationId: list_checkpoints_checkpoints_list_post requestBody: @@ -3605,7 +4924,7 @@ paths: /checkpoints/delete-thread: post: tags: - - Checkpoints + - Checkpoints summary: Delete Thread operationId: delete_thread_checkpoints_delete_thread_post requestBody: @@ -3626,22 +4945,21 @@ paths: /tasks/{task_id}/export: get: tags: - - task-retention + - task-retention summary: Export Task - description: 'Build a self-contained snapshot of a task''s content surfaces. - + description: |- + Build a self-contained snapshot of a task's content surfaces. Returns the exact payload format that POST /rehydrate accepts, so - - export → clean → rehydrate is a round-trip-equivalent operation.' + export → clean → rehydrate is a round-trip-equivalent operation. operationId: export_task_tasks__task_id__export_get parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id responses: '200': description: Successful Response @@ -3657,25 +4975,22 @@ paths: $ref: '#/components/schemas/HTTPValidationError' post: tags: - - task-retention + - task-retention summary: Export Task To Url - description: 'Build the task snapshot and PUT it to a caller-supplied presigned - URL. - + description: |- + Build the task snapshot and PUT it to a caller-supplied presigned URL. Use this when the snapshot is too large for a JSON response body (long - conversations, deep reasoning content, many attachments). The upload URL - - must be https and resolve to a public address — see SSRF guard.' + must be https and resolve to a public address — see SSRF guard. operationId: export_task_to_url_tasks__task_id__export_post parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id requestBody: required: true content: @@ -3698,24 +5013,22 @@ paths: /tasks/{task_id}/clean: post: tags: - - task-retention + - task-retention summary: Clean Task - description: 'Delete content-bearing rows for a stale task. - + description: |- + Delete content-bearing rows for a stale task. Refuses on active tasks, in-flight workflows, or unprocessed events - regardless of `force`. The `force=true` flag only bypasses the - - idle-threshold check.' + idle-threshold check. operationId: clean_task_tasks__task_id__clean_post parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id requestBody: required: true content: @@ -3738,9 +5051,10 @@ paths: /tasks/{task_id}/rehydrate: post: tags: - - task-retention + - task-retention summary: Rehydrate Task - description: 'Restore content-bearing rows from a snapshot. + description: >- + Restore content-bearing rows from a snapshot. Two modes: @@ -3750,17 +5064,18 @@ paths: - URL: caller provides snapshot_url; Agentex downloads and parses it. - Refuses if the task isn''t currently in a cleaned state, or if any supplied + Refuses if the task isn't currently in a cleaned state, or if any + supplied - message/state ID already exists in Mongo (catches double-rehydrate).' + message/state ID already exists in Mongo (catches double-rehydrate). operationId: rehydrate_task_tasks__task_id__rehydrate_post parameters: - - name: task_id - in: path - required: true - schema: - type: string - title: Task Id + - name: task_id + in: path + required: true + schema: + type: string + title: Task Id requestBody: required: true content: @@ -3781,9 +5096,9 @@ components: ACPType: type: string enum: - - sync - - async - - agentic + - sync + - async + - agentic title: ACPType Agent: properties: @@ -3801,7 +5116,8 @@ components: description: The description of the action. status: $ref: '#/components/schemas/AgentStatus' - description: The status of the action, indicating if it's building, ready, + description: >- + The status of the action, indicating if it's building, ready, failed, etc. default: Unknown acp_type: @@ -3809,8 +5125,8 @@ components: description: The type of the ACP Server (Either sync or async) status_reason: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Status Reason description: The reason for the status of the action. created_at: @@ -3825,37 +5141,37 @@ components: description: The timestamp when the agent was last updated registration_metadata: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: Registration Metadata description: The metadata for the agent's registration. registered_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Registered At description: The timestamp when the agent was last registered agent_input_type: anyOf: - - $ref: '#/components/schemas/AgentInputType' - - type: 'null' + - $ref: '#/components/schemas/AgentInputType' + - type: 'null' description: The type of input the agent expects. production_deployment_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Production Deployment Id description: ID of the current production deployment. type: object required: - - id - - name - - description - - acp_type - - created_at - - updated_at + - id + - name + - description + - acp_type + - created_at + - updated_at title: Agent AgentAPIKey: properties: @@ -3874,8 +5190,8 @@ components: description: When the agent API key was created name: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Name description: The optional name of the agent API key. api_key_type: @@ -3883,40 +5199,40 @@ components: description: The type of the agent API key (either internal or external) type: object required: - - id - - agent_id - - created_at - - name - - api_key_type + - id + - agent_id + - created_at + - name + - api_key_type title: AgentAPIKey AgentAPIKeyType: type: string enum: - - internal - - external - - github - - slack + - internal + - external + - github + - slack title: AgentAPIKeyType AgentInputType: type: string enum: - - text - - json + - text + - json title: AgentInputType AgentRPCMethod: type: string enum: - - event/send - - task/create - - message/send - - task/cancel + - event/send + - task/create + - message/send + - task/cancel title: AgentRPCMethod AgentRPCParams: anyOf: - - $ref: '#/components/schemas/CreateTaskRequest' - - $ref: '#/components/schemas/CancelTaskRequest' - - $ref: '#/components/schemas/SendMessageRequest' - - $ref: '#/components/schemas/SendEventRequest' + - $ref: '#/components/schemas/CreateTaskRequest' + - $ref: '#/components/schemas/CancelTaskRequest' + - $ref: '#/components/schemas/SendMessageRequest' + - $ref: '#/components/schemas/SendEventRequest' title: AgentRPCParams description: The parameters for the agent RPC request AgentRPCRequest: @@ -3932,14 +5248,14 @@ components: $ref: '#/components/schemas/AgentRPCParams' id: anyOf: - - type: integer - - type: string - - type: 'null' + - type: integer + - type: string + - type: 'null' title: Id type: object required: - - method - - params + - method + - params title: AgentRPCRequest AgentRPCResponse: properties: @@ -3953,38 +5269,38 @@ components: description: The result of the agent RPC request error: anyOf: - - {} - - type: 'null' + - {} + - type: 'null' title: Error id: anyOf: - - type: integer - - type: string - - type: 'null' + - type: integer + - type: string + - type: 'null' title: Id type: object required: - - result + - result title: AgentRPCResponse AgentRPCResult: anyOf: - - items: - $ref: '#/components/schemas/TaskMessage' - type: array - - $ref: '#/components/schemas/TaskMessageUpdate' - - $ref: '#/components/schemas/Task' - - $ref: '#/components/schemas/Event' - - type: 'null' + - items: + $ref: '#/components/schemas/TaskMessage' + type: array + - $ref: '#/components/schemas/TaskMessageUpdate' + - $ref: '#/components/schemas/Task' + - $ref: '#/components/schemas/Event' + - type: 'null' title: AgentRPCResult AgentStatus: type: string enum: - - Ready - - Failed - - Unknown - - Deleted - - Unhealthy - - BuildOnly + - Ready + - Failed + - Unknown + - Deleted + - Unhealthy + - BuildOnly title: AgentStatus AgentTaskTracker: properties: @@ -4002,20 +5318,20 @@ components: description: The UUID of the task status: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Status description: Processing status status_reason: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Status Reason description: Optional status reason last_processed_event_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Last Processed Event Id description: The last processed event ID created_at: @@ -4025,17 +5341,17 @@ components: description: When the agent task tracker was created updated_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Updated At description: When the agent task tracker was last updated type: object required: - - id - - agent_id - - task_id - - created_at + - id + - agent_id + - task_id + - created_at title: AgentTaskTracker BatchCreateTaskMessagesRequest: properties: @@ -4046,21 +5362,23 @@ components: items: $ref: '#/components/schemas/TaskMessageContent' type: array - title: The messages to send to the task. The order of the messages will - be the order they are added to the task. + title: >- + The messages to send to the task. The order of the messages will be + the order they are added to the task. created_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Optional caller-supplied base creation timestamp for the batch - description: Optional base timestamp. Each message in the batch is stamped - with base + i milliseconds to guarantee unique, monotonic ordering. If + description: >- + Optional base timestamp. Each message in the batch is stamped with + base + i milliseconds to guarantee unique, monotonic ordering. If omitted, the server stamps datetime.now(UTC) at insert time. type: object required: - - task_id - - contents + - task_id + - contents title: BatchCreateTaskMessagesRequest BatchUpdateTaskMessagesRequest: properties: @@ -4071,12 +5389,13 @@ components: additionalProperties: $ref: '#/components/schemas/TaskMessageContent' type: object - title: The updates to apply to the messages. The key is the TaskMessage - id and the value is the TaskMessageContent to update the message with. + title: >- + The updates to apply to the messages. The key is the TaskMessage id + and the value is the TaskMessageContent to update the message with. type: object required: - - task_id - - updates + - task_id + - updates title: BatchUpdateTaskMessagesRequest BlobData: properties: @@ -4091,14 +5410,14 @@ components: title: Serialization type tag blob: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Base64-encoded binary data type: object required: - - channel - - version - - type + - channel + - version + - type title: BlobData BlobResponse: properties: @@ -4113,31 +5432,33 @@ components: title: Type blob: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Blob type: object required: - - channel - - version - - type + - channel + - version + - type title: BlobResponse CancelTaskRequest: properties: task_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Task Id - description: The ID of the task to cancel. Either this or task_name must - be provided. + description: >- + The ID of the task to cancel. Either this or task_name must be + provided. task_name: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Task Name - description: The name of the task to cancel. Either this or task_id must - be provided. + description: >- + The name of the task to cancel. Either this or task_id must be + provided. type: object title: CancelTaskRequest CheckpointListItem: @@ -4153,8 +5474,8 @@ components: title: Checkpoint Id parent_checkpoint_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Parent Checkpoint Id checkpoint: additionalProperties: true @@ -4166,11 +5487,11 @@ components: title: Metadata type: object required: - - thread_id - - checkpoint_ns - - checkpoint_id - - checkpoint - - metadata + - thread_id + - checkpoint_ns + - checkpoint_id + - checkpoint + - metadata title: CheckpointListItem CheckpointTupleResponse: properties: @@ -4185,8 +5506,8 @@ components: title: Checkpoint Id parent_checkpoint_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Parent Checkpoint Id checkpoint: additionalProperties: true @@ -4208,23 +5529,24 @@ components: title: Pending Writes type: object required: - - thread_id - - checkpoint_ns - - checkpoint_id - - checkpoint - - metadata + - thread_id + - checkpoint_ns + - checkpoint_id + - checkpoint + - metadata title: CheckpointTupleResponse CleanTaskRequest: properties: force: type: boolean title: Force - description: Skip the idle-threshold check. Active-workflow and unprocessed-events - checks still apply. Admin use only. + description: >- + Skip the idle-threshold check. Active-workflow and + unprocessed-events checks still apply. Admin use only. default: false idle_days: type: integer - minimum: 1.0 + minimum: 1 title: Idle Days description: Idle threshold in days (ignored when force=true). default: 7 @@ -4250,27 +5572,26 @@ components: title: Events Deleted type: object required: - - task_id - - cleaned_at - - messages_deleted - - task_states_deleted - - events_deleted + - task_id + - cleaned_at + - messages_deleted + - task_states_deleted + - events_deleted title: CleanTaskResponse CreateAPIKeyRequest: properties: agent_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Agent Id description: The UUID of the agent agent_name: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Agent Name - description: The name of the agent - if not provided, the agent_id must - be set. + description: The name of the agent - if not provided, the agent_id must be set. name: type: string title: Name @@ -4281,14 +5602,15 @@ components: default: external api_key: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Api Key - description: Optionally provide the API key value - if not set, one will - be generated. + description: >- + Optionally provide the API key value - if not set, one will be + generated. type: object required: - - name + - name title: CreateAPIKeyRequest CreateAPIKeyResponse: properties: @@ -4307,8 +5629,8 @@ components: description: When the agent API key was created name: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Name description: The optional name of the agent API key. api_key_type: @@ -4320,12 +5642,12 @@ components: description: The value of the newly created API key. type: object required: - - id - - agent_id - - created_at - - name - - api_key_type - - api_key + - id + - agent_id + - created_at + - name + - api_key_type + - api_key title: CreateAPIKeyResponse CreateDeploymentRequest: properties: @@ -4335,27 +5657,28 @@ components: description: Full Docker image URI. registration_metadata: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: Registration Metadata - description: Git/build metadata (commit_hash, branch_name, author_name, + description: >- + Git/build metadata (commit_hash, branch_name, author_name, author_email, build_timestamp). sgp_deploy_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Sgp Deploy Id description: SGP deployment ID. helm_release_name: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Helm Release Name description: Helm release name. type: object required: - - docker_image + - docker_image title: CreateDeploymentRequest CreateScheduleRequest: properties: @@ -4365,7 +5688,8 @@ components: minLength: 1 pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$|^[a-z0-9]$ title: Schedule Name - description: Human-readable name for the schedule (e.g., 'weekly-profiling'). + description: >- + Human-readable name for the schedule (e.g., 'weekly-profiling'). Will be combined with agent_id to form the full schedule_id. workflow_name: type: string @@ -4377,44 +5701,45 @@ components: description: Temporal task queue where the agent's worker is listening workflow_params: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: Workflow Parameters description: Parameters to pass to the workflow cron_expression: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Cron Expression - description: Cron expression for scheduling (e.g., '0 0 * * 0' for weekly - on Sunday) + description: >- + Cron expression for scheduling (e.g., '0 0 * * 0' for weekly on + Sunday) interval_seconds: anyOf: - - type: integer - minimum: 1.0 - - type: 'null' + - type: integer + minimum: 1 + - type: 'null' title: Interval Seconds description: Alternative to cron - run every N seconds execution_timeout_seconds: anyOf: - - type: integer - minimum: 1.0 - - type: 'null' + - type: integer + minimum: 1 + - type: 'null' title: Execution Timeout description: Maximum time in seconds for each workflow execution start_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Start At description: When the schedule should start being active end_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: End At description: When the schedule should stop being active paused: @@ -4424,34 +5749,35 @@ components: default: false type: object required: - - name - - workflow_name - - task_queue + - name + - workflow_name + - task_queue title: CreateScheduleRequest description: Request model for creating a new schedule for an agent CreateSpanRequest: properties: id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Unique Span ID - description: Unique identifier for the span. If not provided, an ID will - be generated. + description: >- + Unique identifier for the span. If not provided, an ID will be + generated. trace_id: type: string title: The trace ID for this span description: Unique identifier for the trace this span belongs to task_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: The task ID this span is associated with description: ID of the task this span belongs to parent_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: The parent span ID if this is a child span description: ID of the parent span if this is a child span in a trace name: @@ -4465,49 +5791,49 @@ components: description: The time the span started end_time: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: The end time of the span description: The time the span ended input: anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true + - additionalProperties: true type: object - type: array - - type: 'null' + - items: + additionalProperties: true + type: object + type: array + - type: 'null' title: The input data for the span description: Input parameters or data for the operation output: anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true + - additionalProperties: true type: object - type: array - - type: 'null' + - items: + additionalProperties: true + type: object + type: array + - type: 'null' title: The output data from the span description: Output data resulting from the operation data: anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true + - additionalProperties: true type: object - type: array - - type: 'null' + - items: + additionalProperties: true + type: object + type: array + - type: 'null' title: Additional data associated with the span description: Any additional metadata or context for the span type: object required: - - trace_id - - name - - start_time + - trace_id + - name + - start_time title: CreateSpanRequest CreateStateRequest: properties: @@ -4523,9 +5849,9 @@ components: title: The state to send to the task. type: object required: - - task_id - - agent_id - - state + - task_id + - agent_id + - state title: CreateStateRequest CreateTaskMessageRequest: properties: @@ -4537,57 +5863,64 @@ components: title: The message to send to the task. streaming_status: anyOf: - - type: string - enum: - - IN_PROGRESS - - DONE - - type: 'null' + - type: string + enum: + - IN_PROGRESS + - DONE + - type: 'null' title: The streaming status of the message created_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Optional caller-supplied creation timestamp - description: Optional timestamp for the message. Workflow callers should - pass workflow.now() (Temporal's deterministic monotonic clock) so that - two awaited messages.create calls from the same workflow are guaranteed - to have monotonic timestamps regardless of HTTP scheduling at the server. - If omitted, the server's wall clock at insert time is used. + description: >- + Optional timestamp for the message. Workflow callers should pass + workflow.now() (Temporal's deterministic monotonic clock) so that + two awaited messages.create calls from the same workflow are + guaranteed to have monotonic timestamps regardless of HTTP + scheduling at the server. If omitted, the server's wall clock at + insert time is used. type: object required: - - task_id - - content + - task_id + - content title: CreateTaskMessageRequest CreateTaskRequest: properties: name: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Name - description: 'Optional human-readable name for the task. When set it must - be globally unique. task/create is get-or-create by name: reusing an existing - name returns the existing task (with its prior history) instead of creating - a new one, so omit name (or make it unique, e.g. by appending a UUID) - whenever each call should produce a fresh task.' + description: >- + Optional human-readable name for the task. When set it must be + globally unique. task/create is get-or-create by name: reusing an + existing name returns the existing task (with its prior history) + instead of creating a new one, so omit name (or make it unique, e.g. + by appending a UUID) whenever each call should produce a fresh task. params: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: Params - description: The parameters for the task. On a get-or-create by name, providing - params overwrites the existing task's params (it is not a pure read). + description: >- + The parameters for the task. On a get-or-create by name, providing + params overwrites the existing task's params (it is not a pure + read). task_metadata: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: Task Metadata - description: Caller-provided metadata to persist on the task row. Only applied - at task creation; ignored if a task with this name already exists. Forwarded - to the agent inside the ACP payload for backward compatibility. + description: >- + Caller-provided metadata to persist on the task row. Only applied at + task creation; ignored if a task with this name already exists. + Forwarded to the agent inside the ACP payload for backward + compatibility. type: object title: CreateTaskRequest CreateWebhookTriggerRequest: @@ -4603,38 +5936,45 @@ components: name: type: string title: Name - description: 'Signature-lookup key: the repo full_name (github) or api_app_id - (slack) that the forward ingress matches the incoming webhook against.' + description: >- + Signature-lookup key: the repo full_name (github) or api_app_id + (slack) that the forward ingress matches the incoming webhook + against. forward_path: type: string title: Forward Path - description: Subpath the agent's own route handles, e.g. 'github-pr/'. - Appended to /agents/forward/name/{agent_name}/ to form the webhook URL. + description: >- + Subpath the agent's own route handles, e.g. 'github-pr/'. + Appended to /agents/forward/name/{agent_name}/ to form the webhook + URL. secret: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Secret - description: Signing secret. For GitHub, omit to generate one, or provide - an existing webhook secret. For Slack, this is required and must be the + description: >- + Signing secret. For GitHub, omit to generate one, or provide an + existing webhook secret. For Slack, this is required and must be the Slack app's Signing Secret. base_url: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Base Url - description: Optional public agentex base URL for the returned webhook_url; + description: >- + Optional public agentex base URL for the returned webhook_url; defaults to the AGENTEX_PUBLIC_URL env var. type: object required: - - agent_name - - name - - forward_path + - agent_name + - name + - forward_path title: CreateWebhookTriggerRequest - description: 'One-call setup for a webhook trigger: register the source''s signature + description: >- + One-call setup for a webhook trigger: register the source's signature key and - get back the ready-to-paste forward webhook URL.' + get back the ready-to-paste forward webhook URL. CreateWebhookTriggerResponse: properties: key_id: @@ -4655,7 +5995,8 @@ components: secret: type: string title: Secret - description: The signing secret — shown once; paste into the source's webhook + description: >- + The signing secret — shown once; paste into the source's webhook config. webhook_path: type: string @@ -4663,19 +6004,20 @@ components: description: The forward path to POST webhooks to. webhook_url: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Webhook Url - description: Full webhook URL to paste into the source (None if no base - URL configured). + description: >- + Full webhook URL to paste into the source (None if no base URL + configured). type: object required: - - key_id - - agent_name - - source - - name - - secret - - webhook_path + - key_id + - agent_name + - source + - name + - secret + - webhook_path title: CreateWebhookTriggerResponse DataContent: properties: @@ -4687,11 +6029,13 @@ components: default: data author: $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, + description: >- + The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`. style: $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine + description: >- + The style of the message. This is used by the client to determine how to display the message. default: static data: @@ -4701,8 +6045,8 @@ components: description: The contents of the data message. type: object required: - - author - - data + - author + - data title: DataContent DataContentEntity: properties: @@ -4714,11 +6058,13 @@ components: default: data author: $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, + description: >- + The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`. style: $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine + description: >- + The style of the message. This is used by the client to determine how to display the message. default: static data: @@ -4728,8 +6074,8 @@ components: description: The contents of the data message. type: object required: - - author - - data + - author + - data title: DataContentEntity DataDelta: properties: @@ -4740,8 +6086,8 @@ components: default: data data_delta: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Data Delta default: '' type: object @@ -4757,8 +6103,8 @@ components: title: Message type: object required: - - id - - message + - id + - message title: DeleteResponse DeleteThreadRequest: properties: @@ -4767,7 +6113,7 @@ components: title: Thread ID type: object required: - - thread_id + - thread_id title: DeleteThreadRequest Deployment: properties: @@ -4785,9 +6131,9 @@ components: description: Full Docker image URI. registration_metadata: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: Registration Metadata description: Git/build metadata from the agent pod. status: @@ -4795,8 +6141,8 @@ components: description: Current deployment status. acp_url: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Acp Url description: ACP URL set when agent registers. is_production: @@ -4805,44 +6151,44 @@ components: description: Whether this is the production deployment. sgp_deploy_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Sgp Deploy Id description: Correlates to SGP's agentex_deploys.id. helm_release_name: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Helm Release Name description: Helm release name for cleanup. created_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Created At description: When the deployment was created. promoted_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Promoted At description: When promoted to production. expires_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Expires At description: When marked for cleanup. type: object required: - - id - - agent_id - - docker_image - - status - - is_production + - id + - agent_id + - docker_image + - status + - is_production title: Deployment DeploymentHistory: properties: @@ -4882,22 +6228,22 @@ components: description: Git commit hash for this deployment type: object required: - - id - - agent_id - - author_name - - author_email - - branch_name - - build_timestamp - - deployment_timestamp - - commit_hash + - id + - agent_id + - author_name + - author_email + - branch_name + - build_timestamp + - deployment_timestamp + - commit_hash title: DeploymentHistory description: API schema for deployment history. DeploymentStatus: type: string enum: - - Pending - - Ready - - Failed + - Pending + - Ready + - Failed title: DeploymentStatus Event: properties: @@ -4919,22 +6265,22 @@ components: description: The UUID of the agent that the event belongs to created_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Created At description: The timestamp of the event content: anyOf: - - $ref: '#/components/schemas/TaskMessageContent' - - type: 'null' + - $ref: '#/components/schemas/TaskMessageContent' + - type: 'null' description: The content of the event type: object required: - - id - - sequence_id - - task_id - - agent_id + - id + - sequence_id + - task_id + - agent_id title: Event ExportTaskResponse: properties: @@ -4953,7 +6299,7 @@ components: title: Task States type: object required: - - task_id + - task_id title: ExportTaskResponse description: Wire format mirrors the entity directly — schema parity is intentional. ExportTaskToUrlRequest: @@ -4964,11 +6310,12 @@ components: minLength: 1 format: uri title: Upload Url - description: Presigned PUT URL where Agentex will upload the task snapshot - as JSON. Must be https; must resolve to a public address. + description: >- + Presigned PUT URL where Agentex will upload the task snapshot as + JSON. Must be https; must resolve to a public address. type: object required: - - upload_url + - upload_url title: ExportTaskToUrlRequest ExportTaskToUrlResponse: properties: @@ -4989,11 +6336,11 @@ components: title: Task States Count type: object required: - - task_id - - upload_url - - uploaded_bytes - - messages_count - - task_states_count + - task_id + - upload_url + - uploaded_bytes + - messages_count + - task_states_count title: ExportTaskToUrlResponse FileAttachment: properties: @@ -5015,10 +6362,10 @@ components: description: The MIME type or content type of the file type: object required: - - file_id - - name - - size - - type + - file_id + - name + - size + - type title: FileAttachment description: Represents a file attachment in messages. FileAttachmentEntity: @@ -5041,10 +6388,10 @@ components: description: The MIME type or content type of the file type: object required: - - file_id - - name - - size - - type + - file_id + - name + - size + - type title: FileAttachmentEntity description: Represents a file attachment in messages. GetCheckpointTupleRequest: @@ -5058,12 +6405,12 @@ components: default: '' checkpoint_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Checkpoint ID (None = latest) type: object required: - - thread_id + - thread_id title: GetCheckpointTupleRequest HTTPValidationError: properties: @@ -5081,41 +6428,41 @@ components: title: Thread ID checkpoint_ns: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Checkpoint namespace before_checkpoint_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Before checkpoint ID filter_metadata: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: Metadata filter (JSONB @>) limit: type: integer - maximum: 1000.0 - minimum: 1.0 + maximum: 1000 + minimum: 1 title: Max results default: 100 type: object required: - - thread_id + - thread_id title: ListCheckpointsRequest MessageAuthor: type: string enum: - - user - - agent + - user + - agent title: MessageAuthor MessageStyle: type: string enum: - - static - - active + - static + - active title: MessageStyle PaginatedMessagesResponse: properties: @@ -5127,8 +6474,8 @@ components: description: List of messages next_cursor: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Next Cursor description: Cursor for fetching the next page of older messages has_more: @@ -5138,15 +6485,15 @@ components: default: false type: object required: - - data + - data title: PaginatedMessagesResponse description: Response with cursor pagination metadata. PauseScheduleRequest: properties: note: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Note description: Optional note explaining why the schedule was paused type: object @@ -5166,8 +6513,8 @@ components: title: Checkpoint ID parent_checkpoint_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Parent checkpoint ID checkpoint: additionalProperties: true @@ -5184,9 +6531,9 @@ components: title: Channel blob data type: object required: - - thread_id - - checkpoint_id - - checkpoint + - thread_id + - checkpoint_id + - checkpoint title: PutCheckpointRequest PutCheckpointResponse: properties: @@ -5201,9 +6548,9 @@ components: title: Checkpoint Id type: object required: - - thread_id - - checkpoint_ns - - checkpoint_id + - thread_id + - checkpoint_ns + - checkpoint_id title: PutCheckpointResponse PutWritesRequest: properties: @@ -5228,9 +6575,9 @@ components: default: false type: object required: - - thread_id - - checkpoint_id - - writes + - thread_id + - checkpoint_id + - writes title: PutWritesRequest ReasoningContent: properties: @@ -5242,11 +6589,13 @@ components: default: reasoning author: $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, + description: >- + The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`. style: $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine + description: >- + The style of the message. This is used by the client to determine how to display the message. default: static summary: @@ -5257,16 +6606,16 @@ components: description: A list of short reasoning summaries content: anyOf: - - items: - type: string - type: array - - type: 'null' + - items: + type: string + type: array + - type: 'null' title: Content description: The reasoning content or chain-of-thought text type: object required: - - author - - summary + - author + - summary title: ReasoningContent ReasoningContentDelta: properties: @@ -5280,13 +6629,13 @@ components: title: Content Index content_delta: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Content Delta default: '' type: object required: - - content_index + - content_index title: ReasoningContentDelta description: Delta for reasoning content updates ReasoningContentEntity: @@ -5299,11 +6648,13 @@ components: default: reasoning author: $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, + description: >- + The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`. style: $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine + description: >- + The style of the message. This is used by the client to determine how to display the message. default: static summary: @@ -5314,16 +6665,16 @@ components: description: A list of short reasoning summaries content: anyOf: - - items: - type: string - type: array - - type: 'null' + - items: + type: string + type: array + - type: 'null' title: Content description: The reasoning content or chain-of-thought text type: object required: - - author - - summary + - author + - summary title: ReasoningContentEntity ReasoningSummaryDelta: properties: @@ -5337,13 +6688,13 @@ components: title: Summary Index summary_delta: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Summary Delta default: '' type: object required: - - summary_index + - summary_index title: ReasoningSummaryDelta description: Delta for reasoning summary updates RegisterAgentRequest: @@ -5363,38 +6714,39 @@ components: description: The URL of the ACP server for the agent. agent_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Agent Id - description: Optional agent ID if the agent already exists and needs to - be updated. + description: >- + Optional agent ID if the agent already exists and needs to be + updated. acp_type: $ref: '#/components/schemas/ACPType' description: The type of ACP to use for the agent. principal_context: anyOf: - - {} - - type: 'null' + - {} + - type: 'null' title: Principal Context description: Principal used for authorization registration_metadata: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: Registration Metadata description: The metadata for the agent's registration. agent_input_type: anyOf: - - $ref: '#/components/schemas/AgentInputType' - - type: 'null' + - $ref: '#/components/schemas/AgentInputType' + - type: 'null' description: The type of input the agent expects. type: object required: - - name - - description - - acp_url - - acp_type + - name + - description + - acp_url + - acp_type title: RegisterAgentRequest RegisterAgentResponse: properties: @@ -5412,7 +6764,8 @@ components: description: The description of the action. status: $ref: '#/components/schemas/AgentStatus' - description: The status of the action, indicating if it's building, ready, + description: >- + The status of the action, indicating if it's building, ready, failed, etc. default: Unknown acp_type: @@ -5420,8 +6773,8 @@ components: description: The type of the ACP Server (Either sync or async) status_reason: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Status Reason description: The reason for the status of the action. created_at: @@ -5436,43 +6789,43 @@ components: description: The timestamp when the agent was last updated registration_metadata: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: Registration Metadata description: The metadata for the agent's registration. registered_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Registered At description: The timestamp when the agent was last registered agent_input_type: anyOf: - - $ref: '#/components/schemas/AgentInputType' - - type: 'null' + - $ref: '#/components/schemas/AgentInputType' + - type: 'null' description: The type of input the agent expects. production_deployment_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Production Deployment Id description: ID of the current production deployment. agent_api_key: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Agent Api Key description: The API key for the agent, if applicable. type: object required: - - id - - name - - description - - acp_type - - created_at - - updated_at + - id + - name + - description + - acp_type + - created_at + - updated_at title: RegisterAgentResponse description: Response model for registering an agent. RegisterBuildRequest: @@ -5488,29 +6841,32 @@ components: description: The description of the agent. registration_metadata: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: Registration Metadata description: The metadata for the agent's build registration. agent_input_type: anyOf: - - $ref: '#/components/schemas/AgentInputType' - - type: 'null' + - $ref: '#/components/schemas/AgentInputType' + - type: 'null' description: The type of input the agent expects. type: object required: - - name - - description + - name + - description title: RegisterBuildRequest - description: 'Request model for registering an agent at build time (pre-deploy). + description: >- + Request model for registering an agent at build time (pre-deploy). - Unlike RegisterAgentRequest, there is no acp_url (the agent is not running + Unlike RegisterAgentRequest, there is no acp_url (the agent is not + running - yet) and no acp_type is required. The created agent is left in BUILD_ONLY + yet) and no acp_type is required. The created agent is left in + BUILD_ONLY - status so it can be permissioned/shared before it is deployed.' + status so it can be permissioned/shared before it is deployed. RehydrateTaskRequest: properties: task_id: @@ -5528,29 +6884,27 @@ components: title: Task States snapshot_url: anyOf: - - type: string - maxLength: 2083 - minLength: 1 - format: uri - - type: 'null' + - type: string + maxLength: 2083 + minLength: 1 + format: uri + - type: 'null' title: Snapshot Url - description: Presigned GET URL whose body is a JSON-encoded TaskSnapshotEntity. - Must be https; must resolve to a public address. When set, messages/task_states - must be empty. + description: >- + Presigned GET URL whose body is a JSON-encoded TaskSnapshotEntity. + Must be https; must resolve to a public address. When set, + messages/task_states must be empty. type: object required: - - task_id + - task_id title: RehydrateTaskRequest - description: 'Either provide inline content (messages + task_states) or a snapshot_url - + description: |- + Either provide inline content (messages + task_states) or a snapshot_url pointing at a presigned JSON download. Mixing both is rejected. - - The inline form is the canonical shape used by export''s GET response, so - + The inline form is the canonical shape used by export's GET response, so snapshot → clean → rehydrate round-trips cleanly without serialization - - changes.' + changes. ScheduleActionInfo: properties: workflow_name: @@ -5567,16 +6921,16 @@ components: description: Task queue for the workflow workflow_params: anyOf: - - items: {} - type: array - - type: 'null' + - items: {} + type: array + - type: 'null' title: Workflow Parameters description: Parameters passed to the workflow type: object required: - - workflow_name - - workflow_id_prefix - - task_queue + - workflow_name + - workflow_id_prefix + - task_queue title: ScheduleActionInfo description: Information about the scheduled action ScheduleListItem: @@ -5599,23 +6953,23 @@ components: description: Current state of the schedule workflow_name: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Workflow Name description: Name of the scheduled workflow next_action_time: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Next Action Time description: Next scheduled execution time type: object required: - - schedule_id - - name - - agent_id - - state + - schedule_id + - name + - agent_id + - state title: ScheduleListItem description: Abbreviated schedule info for list responses ScheduleListResponse: @@ -5632,8 +6986,8 @@ components: description: Total number of schedules type: object required: - - schedules - - total + - schedules + - total title: ScheduleListResponse description: Response model for listing schedules ScheduleResponse: @@ -5680,26 +7034,26 @@ components: description: Upcoming scheduled execution times last_action_time: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Last Action Time description: When the schedule last executed created_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Created At description: When the schedule was created type: object required: - - schedule_id - - name - - agent_id - - state - - action - - spec + - schedule_id + - name + - agent_id + - state + - action + - spec title: ScheduleResponse description: Response model for schedule operations ScheduleSpecInfo: @@ -5718,16 +7072,16 @@ components: description: Interval specifications in seconds start_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Start At description: When the schedule starts being active end_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: End At description: When the schedule stops being active type: object @@ -5736,28 +7090,28 @@ components: ScheduleState: type: string enum: - - ACTIVE - - PAUSED + - ACTIVE + - PAUSED title: ScheduleState description: Schedule state enum SendEventRequest: properties: task_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Task Id description: The ID of the task that the event was sent to task_name: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Task Name description: The name of the task that the event was sent to content: anyOf: - - $ref: '#/components/schemas/TaskMessageContent' - - type: 'null' + - $ref: '#/components/schemas/TaskMessageContent' + - type: 'null' description: The content to send to the event type: object title: SendEventRequest @@ -5765,14 +7119,14 @@ components: properties: task_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Task Id description: The ID of the task that the message was sent to task_name: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Task Name description: The name of the task that the message was sent to content: @@ -5785,14 +7139,14 @@ components: default: false task_params: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: Task Params description: The parameters for the task (only used when creating new tasks) type: object required: - - content + - content title: SendMessageRequest Span: properties: @@ -5805,14 +7159,14 @@ components: description: Unique identifier for the trace this span belongs to task_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: The task ID this span is associated with description: ID of the task this span belongs to parent_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: The parent span ID if this is a child span description: ID of the parent span if this is a child span in a trace name: @@ -5826,50 +7180,50 @@ components: description: The time the span started end_time: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: The end time of the span description: The time the span ended input: anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true + - additionalProperties: true type: object - type: array - - type: 'null' + - items: + additionalProperties: true + type: object + type: array + - type: 'null' title: The input data for the span description: Input parameters or data for the operation output: anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true + - additionalProperties: true type: object - type: array - - type: 'null' + - items: + additionalProperties: true + type: object + type: array + - type: 'null' title: The output data from the span description: Output data resulting from the operation data: anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true + - additionalProperties: true type: object - type: array - - type: 'null' + - items: + additionalProperties: true + type: object + type: array + - type: 'null' title: Additional data associated with the span description: Any additional metadata or context for the span type: object required: - - id - - trace_id - - name - - start_time + - id + - trace_id + - name + - start_time title: Span State: properties: @@ -5894,47 +7248,50 @@ components: description: The timestamp when the state was created updated_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Updated At description: The timestamp when the state was last updated type: object required: - - task_id - - agent_id - - state - - id - - created_at + - task_id + - agent_id + - state + - id + - created_at title: State - description: 'Represents a state in the agent system. A state is associated - uniquely with a task and an agent. + description: >- + Represents a state in the agent system. A state is associated uniquely + with a task and an agent. This entity is used to store states in MongoDB, with each state - associated with a specific task and agent. The combination of task_id and - agent_id is globally unique. + associated with a specific task and agent. The combination of task_id + and agent_id is globally unique. - The state is a dictionary of arbitrary data.' + The state is a dictionary of arbitrary data. StateEntity: properties: id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Id description: The task state's unique id task_id: type: string title: Task Id - description: ID of the task this state belongs to. The combination of task_id - and agent_id is globally unique. + description: >- + ID of the task this state belongs to. The combination of task_id and + agent_id is globally unique. agent_id: type: string title: Agent Id - description: ID of the agent this state belongs to. The combination of task_id + description: >- + ID of the agent this state belongs to. The combination of task_id and agent_id is globally unique. state: additionalProperties: true @@ -5943,35 +7300,36 @@ components: description: The state object that contains arbitrary data created_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Created At description: The timestamp when the state was created updated_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Updated At description: The timestamp when the state was last updated type: object required: - - task_id - - agent_id - - state + - task_id + - agent_id + - state title: StateEntity - description: 'Represents a state in the agent system. A state is associated - uniquely with a task and an agent. + description: >- + Represents a state in the agent system. A state is associated uniquely + with a task and an agent. This entity is used to store states in MongoDB, with each state - associated with a specific task and agent. The combination of task_id and - agent_id is globally unique. + associated with a specific task and agent. The combination of task_id + and agent_id is globally unique. - The state is a dictionary of arbitrary data.' + The state is a dictionary of arbitrary data. StreamTaskMessageDelta: properties: type: @@ -5981,17 +7339,17 @@ components: default: delta index: anyOf: - - type: integer - - type: 'null' + - type: integer + - type: 'null' title: Index parent_task_message: anyOf: - - $ref: '#/components/schemas/TaskMessage' - - type: 'null' + - $ref: '#/components/schemas/TaskMessage' + - type: 'null' delta: anyOf: - - $ref: '#/components/schemas/TaskMessageDelta' - - type: 'null' + - $ref: '#/components/schemas/TaskMessageDelta' + - type: 'null' type: object title: StreamTaskMessageDelta description: Event for streaming chunks of content @@ -6004,13 +7362,13 @@ components: default: done index: anyOf: - - type: integer - - type: 'null' + - type: integer + - type: 'null' title: Index parent_task_message: anyOf: - - $ref: '#/components/schemas/TaskMessage' - - type: 'null' + - $ref: '#/components/schemas/TaskMessage' + - type: 'null' type: object title: StreamTaskMessageDone description: Event for indicating the task is done @@ -6023,18 +7381,18 @@ components: default: full index: anyOf: - - type: integer - - type: 'null' + - type: integer + - type: 'null' title: Index parent_task_message: anyOf: - - $ref: '#/components/schemas/TaskMessage' - - type: 'null' + - $ref: '#/components/schemas/TaskMessage' + - type: 'null' content: $ref: '#/components/schemas/TaskMessageContent' type: object required: - - content + - content title: StreamTaskMessageFull description: Event for streaming the full content StreamTaskMessageStart: @@ -6046,18 +7404,18 @@ components: default: start index: anyOf: - - type: integer - - type: 'null' + - type: integer + - type: 'null' title: Index parent_task_message: anyOf: - - $ref: '#/components/schemas/TaskMessage' - - type: 'null' + - $ref: '#/components/schemas/TaskMessage' + - type: 'null' content: $ref: '#/components/schemas/TaskMessageContent' type: object required: - - content + - content title: StreamTaskMessageStart description: Event for starting a streaming message Task: @@ -6067,60 +7425,61 @@ components: title: Unique Task ID name: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Unique name of the task status: anyOf: - - $ref: '#/components/schemas/TaskStatus' - - type: 'null' + - $ref: '#/components/schemas/TaskStatus' + - type: 'null' title: The current status of the task status_reason: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: The reason for the current task status created_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: The timestamp when the task was created updated_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: The timestamp when the task was last updated cleaned_at: anyOf: - - type: string - format: date-time - - type: 'null' - title: The timestamp when the task's content was cleaned for retention compliance; - null when active + - type: string + format: date-time + - type: 'null' + title: >- + The timestamp when the task's content was cleaned for retention + compliance; null when active params: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: Task parameters task_metadata: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: Task metadata type: object required: - - id + - id title: Task TaskMessage: properties: id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Id description: The task message's unique id task_id: @@ -6129,49 +7488,50 @@ components: description: ID of the task this message belongs to content: $ref: '#/components/schemas/TaskMessageContent' - description: The content of the message. This content is not OpenAI compatible. + description: >- + The content of the message. This content is not OpenAI compatible. These are messages that are meant to be displayed to the user. streaming_status: anyOf: - - type: string - enum: - - IN_PROGRESS - - DONE - - type: 'null' - title: In case of streaming, this indicates whether the message is still + - type: string + enum: + - IN_PROGRESS + - DONE + - type: 'null' + title: >- + In case of streaming, this indicates whether the message is still being streamed or has been completed created_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Created At description: The timestamp when the message was created updated_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Updated At description: The timestamp when the message was last updated type: object required: - - task_id - - content + - task_id + - content title: TaskMessage - description: 'Represents a message in the agent system. - + description: |- + Represents a message in the agent system. This entity is used to store messages in MongoDB, with each message - - associated with a specific task.' + associated with a specific task. TaskMessageContent: oneOf: - - $ref: '#/components/schemas/TextContent' - - $ref: '#/components/schemas/ReasoningContent' - - $ref: '#/components/schemas/DataContent' - - $ref: '#/components/schemas/ToolRequestContent' - - $ref: '#/components/schemas/ToolResponseContent' + - $ref: '#/components/schemas/TextContent' + - $ref: '#/components/schemas/ReasoningContent' + - $ref: '#/components/schemas/DataContent' + - $ref: '#/components/schemas/ToolRequestContent' + - $ref: '#/components/schemas/ToolResponseContent' title: TaskMessageContent discriminator: propertyName: type @@ -6183,12 +7543,12 @@ components: tool_response: '#/components/schemas/ToolResponseContent' TaskMessageDelta: oneOf: - - $ref: '#/components/schemas/TextDelta' - - $ref: '#/components/schemas/DataDelta' - - $ref: '#/components/schemas/ToolRequestDelta' - - $ref: '#/components/schemas/ToolResponseDelta' - - $ref: '#/components/schemas/ReasoningSummaryDelta' - - $ref: '#/components/schemas/ReasoningContentDelta' + - $ref: '#/components/schemas/TextDelta' + - $ref: '#/components/schemas/DataDelta' + - $ref: '#/components/schemas/ToolRequestDelta' + - $ref: '#/components/schemas/ToolResponseDelta' + - $ref: '#/components/schemas/ReasoningSummaryDelta' + - $ref: '#/components/schemas/ReasoningContentDelta' title: TaskMessageDelta discriminator: propertyName: type @@ -6203,8 +7563,8 @@ components: properties: id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Id description: The task message's unique id task_id: @@ -6213,13 +7573,14 @@ components: description: ID of the task this message belongs to content: oneOf: - - $ref: '#/components/schemas/TextContentEntity' - - $ref: '#/components/schemas/DataContentEntity' - - $ref: '#/components/schemas/ToolRequestContentEntity' - - $ref: '#/components/schemas/ToolResponseContentEntity' - - $ref: '#/components/schemas/ReasoningContentEntity' + - $ref: '#/components/schemas/TextContentEntity' + - $ref: '#/components/schemas/DataContentEntity' + - $ref: '#/components/schemas/ToolRequestContentEntity' + - $ref: '#/components/schemas/ToolResponseContentEntity' + - $ref: '#/components/schemas/ReasoningContentEntity' title: Content - description: The content of the message. This content is not OpenAI compatible. + description: >- + The content of the message. This content is not OpenAI compatible. These are messages that are meant to be displayed to the user. discriminator: propertyName: type @@ -6231,44 +7592,44 @@ components: tool_response: '#/components/schemas/ToolResponseContentEntity' streaming_status: anyOf: - - type: string - enum: - - IN_PROGRESS - - DONE - - type: 'null' - title: In case of streaming, this indicates whether the message is still + - type: string + enum: + - IN_PROGRESS + - DONE + - type: 'null' + title: >- + In case of streaming, this indicates whether the message is still being streamed or has been completed created_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Created At description: The timestamp when the message was created updated_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: Updated At description: The timestamp when the message was last updated type: object required: - - task_id - - content + - task_id + - content title: TaskMessageEntity - description: 'Represents a message in the agent system. - + description: |- + Represents a message in the agent system. This entity is used to store messages in MongoDB, with each message - - associated with a specific task.' + associated with a specific task. TaskMessageUpdate: oneOf: - - $ref: '#/components/schemas/StreamTaskMessageStart' - - $ref: '#/components/schemas/StreamTaskMessageDelta' - - $ref: '#/components/schemas/StreamTaskMessageFull' - - $ref: '#/components/schemas/StreamTaskMessageDone' + - $ref: '#/components/schemas/StreamTaskMessageStart' + - $ref: '#/components/schemas/StreamTaskMessageDelta' + - $ref: '#/components/schemas/StreamTaskMessageFull' + - $ref: '#/components/schemas/StreamTaskMessageDone' title: TaskMessageUpdate discriminator: propertyName: type @@ -6280,7 +7641,7 @@ components: TaskRelationships: type: string enum: - - agents + - agents title: TaskRelationships description: Task relationships that can be loaded TaskResponse: @@ -6290,80 +7651,82 @@ components: title: Unique Task ID name: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Unique name of the task status: anyOf: - - $ref: '#/components/schemas/TaskStatus' - - type: 'null' + - $ref: '#/components/schemas/TaskStatus' + - type: 'null' title: The current status of the task status_reason: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: The reason for the current task status created_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: The timestamp when the task was created updated_at: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: The timestamp when the task was last updated cleaned_at: anyOf: - - type: string - format: date-time - - type: 'null' - title: The timestamp when the task's content was cleaned for retention compliance; - null when active + - type: string + format: date-time + - type: 'null' + title: >- + The timestamp when the task's content was cleaned for retention + compliance; null when active params: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: Task parameters task_metadata: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: Task metadata agents: anyOf: - - items: - $ref: '#/components/schemas/Agent' - type: array - - type: 'null' - title: Agents associated with this task (only populated when 'agent' view + - items: + $ref: '#/components/schemas/Agent' + type: array + - type: 'null' + title: >- + Agents associated with this task (only populated when 'agent' view is requested) type: object required: - - id + - id title: TaskResponse description: Task response model with optional related data based on relationships TaskStatus: type: string enum: - - CANCELED - - COMPLETED - - FAILED - - RUNNING - - TERMINATED - - TIMED_OUT - - DELETED + - CANCELED + - COMPLETED + - FAILED + - RUNNING + - TERMINATED + - TIMED_OUT + - DELETED title: TaskStatus TaskStatusReasonRequest: properties: reason: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Optional reason for the status change type: object title: TaskStatusReasonRequest @@ -6377,16 +7740,19 @@ components: default: text author: $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, + description: >- + The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`. style: $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine + description: >- + The style of the message. This is used by the client to determine how to display the message. default: static format: $ref: '#/components/schemas/TextFormat' - description: The format of the message. This is used by the client to determine + description: >- + The format of the message. This is used by the client to determine how to display the message. default: plain content: @@ -6395,16 +7761,16 @@ components: description: The contents of the text message. attachments: anyOf: - - items: - $ref: '#/components/schemas/FileAttachment' - type: array - - type: 'null' + - items: + $ref: '#/components/schemas/FileAttachment' + type: array + - type: 'null' title: Attachments description: Optional list of file attachments with structured metadata. type: object required: - - author - - content + - author + - content title: TextContent TextContentEntity: properties: @@ -6416,16 +7782,19 @@ components: default: text author: $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, + description: >- + The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`. style: $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine + description: >- + The style of the message. This is used by the client to determine how to display the message. default: static format: $ref: '#/components/schemas/TextFormat' - description: The format of the message. This is used by the client to determine + description: >- + The format of the message. This is used by the client to determine how to display the message. default: plain content: @@ -6434,16 +7803,16 @@ components: description: The contents of the text message. attachments: anyOf: - - items: - $ref: '#/components/schemas/FileAttachmentEntity' - type: array - - type: 'null' + - items: + $ref: '#/components/schemas/FileAttachmentEntity' + type: array + - type: 'null' title: Attachments description: Optional list of file attachments with structured metadata. type: object required: - - author - - content + - author + - content title: TextContentEntity TextDelta: properties: @@ -6454,8 +7823,8 @@ components: default: text text_delta: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Text Delta default: '' type: object @@ -6464,9 +7833,9 @@ components: TextFormat: type: string enum: - - markdown - - plain - - code + - markdown + - plain + - code title: TextFormat ToolRequestContent: properties: @@ -6478,11 +7847,13 @@ components: default: tool_request author: $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, + description: >- + The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`. style: $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine + description: >- + The style of the message. This is used by the client to determine how to display the message. default: static tool_call_id: @@ -6500,10 +7871,10 @@ components: description: The arguments to the tool. type: object required: - - author - - tool_call_id - - name - - arguments + - author + - tool_call_id + - name + - arguments title: ToolRequestContent ToolRequestContentEntity: properties: @@ -6515,11 +7886,13 @@ components: default: tool_request author: $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, + description: >- + The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`. style: $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine + description: >- + The style of the message. This is used by the client to determine how to display the message. default: static tool_call_id: @@ -6537,10 +7910,10 @@ components: description: The arguments to the tool. type: object required: - - author - - tool_call_id - - name - - arguments + - author + - tool_call_id + - name + - arguments title: ToolRequestContentEntity ToolRequestDelta: properties: @@ -6557,14 +7930,14 @@ components: title: Name arguments_delta: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Arguments Delta default: '' type: object required: - - tool_call_id - - name + - tool_call_id + - name title: ToolRequestDelta description: Delta for tool request updates ToolResponseContent: @@ -6577,11 +7950,13 @@ components: default: tool_response author: $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, + description: >- + The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`. style: $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine + description: >- + The style of the message. This is used by the client to determine how to display the message. default: static tool_call_id: @@ -6597,17 +7972,18 @@ components: description: The result of the tool. is_error: anyOf: - - type: boolean - - type: 'null' + - type: boolean + - type: 'null' title: Is Error - description: Whether the tool call resulted in an error. `None` when the - harness does not report a status. + description: >- + Whether the tool call resulted in an error. `None` when the harness + does not report a status. type: object required: - - author - - tool_call_id - - name - - content + - author + - tool_call_id + - name + - content title: ToolResponseContent ToolResponseContentEntity: properties: @@ -6619,11 +7995,13 @@ components: default: tool_response author: $ref: '#/components/schemas/MessageAuthor' - description: The role of the messages author, in this case `system`, `user`, + description: >- + The role of the messages author, in this case `system`, `user`, `assistant`, or `tool`. style: $ref: '#/components/schemas/MessageStyle' - description: The style of the message. This is used by the client to determine + description: >- + The style of the message. This is used by the client to determine how to display the message. default: static tool_call_id: @@ -6639,17 +8017,18 @@ components: description: The result of the tool. is_error: anyOf: - - type: boolean - - type: 'null' + - type: boolean + - type: 'null' title: Is Error - description: Whether the tool call resulted in an error. `None` when the - harness does not report a status. + description: >- + Whether the tool call resulted in an error. `None` when the harness + does not report a status. type: object required: - - author - - tool_call_id - - name - - content + - author + - tool_call_id + - name + - content title: ToolResponseContentEntity ToolResponseDelta: properties: @@ -6666,22 +8045,22 @@ components: title: Name content_delta: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Content Delta default: '' type: object required: - - tool_call_id - - name + - tool_call_id + - name title: ToolResponseDelta description: Delta for tool response updates UnpauseScheduleRequest: properties: note: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Note description: Optional note explaining why the schedule was unpaused type: object @@ -6691,20 +8070,20 @@ components: properties: last_processed_event_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Last Processed Event Id description: The most recent processed event ID (omit to leave unchanged) status: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Status description: Processing status status_reason: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Status Reason description: Optional status reason type: object @@ -6714,73 +8093,73 @@ components: properties: trace_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: The trace ID for this span description: Unique identifier for the trace this span belongs to task_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: The task ID this span is associated with description: ID of the task this span belongs to parent_id: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: The parent span ID if this is a child span description: ID of the parent span if this is a child span in a trace name: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: The name of the span description: Name that describes what operation this span represents start_time: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: The start time of the span description: The time the span started end_time: anyOf: - - type: string - format: date-time - - type: 'null' + - type: string + format: date-time + - type: 'null' title: The end time of the span description: The time the span ended input: anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true + - additionalProperties: true type: object - type: array - - type: 'null' + - items: + additionalProperties: true + type: object + type: array + - type: 'null' title: The input data for the span description: Input parameters or data for the operation output: anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true + - additionalProperties: true type: object - type: array - - type: 'null' + - items: + additionalProperties: true + type: object + type: array + - type: 'null' title: The output data from the span description: Output data resulting from the operation data: anyOf: - - additionalProperties: true - type: object - - items: - additionalProperties: true + - additionalProperties: true type: object - type: array - - type: 'null' + - items: + additionalProperties: true + type: object + type: array + - type: 'null' title: Additional data associated with the span description: Any additional metadata or context for the span type: object @@ -6793,7 +8172,7 @@ components: title: The state to update the state with. type: object required: - - state + - state title: UpdateStateRequest UpdateTaskMessageRequest: properties: @@ -6805,32 +8184,34 @@ components: title: The message to update the message with. streaming_status: anyOf: - - type: string - enum: - - IN_PROGRESS - - DONE - - type: 'null' + - type: string + enum: + - IN_PROGRESS + - DONE + - type: 'null' title: The streaming status of the message type: object required: - - task_id - - content + - task_id + - content title: UpdateTaskMessageRequest UpdateTaskRequest: properties: task_metadata: anyOf: - - additionalProperties: true - type: object - - type: 'null' + - additionalProperties: true + type: object + - type: 'null' title: If provided, replaces task_metadata with this value merge_params: anyOf: - - additionalProperties: true - type: object - - type: 'null' - title: Optional shallow-merge patch applied to the task's params column. - Top-level keys overwrite; pass full nested objects to change subfields. + - additionalProperties: true + type: object + - type: 'null' + title: >- + Optional shallow-merge patch applied to the task's params column. + Top-level keys overwrite; pass full nested objects to change + subfields. type: object title: UpdateTaskRequest ValidationError: @@ -6838,8 +8219,8 @@ components: loc: items: anyOf: - - type: string - - type: integer + - type: string + - type: integer type: array title: Location msg: @@ -6855,9 +8236,9 @@ components: title: Context type: object required: - - loc - - msg - - type + - loc + - msg + - type title: ValidationError WriteData: properties: @@ -6872,8 +8253,8 @@ components: title: Channel name type: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Serialization type tag blob: type: string @@ -6884,10 +8265,10 @@ components: default: '' type: object required: - - task_id - - idx - - channel - - blob + - task_id + - idx + - channel + - blob title: WriteData WriteResponse: properties: @@ -6902,17 +8283,17 @@ components: title: Channel type: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Type blob: anyOf: - - type: string - - type: 'null' + - type: string + - type: 'null' title: Blob type: object required: - - task_id - - idx - - channel + - task_id + - idx + - channel title: WriteResponse diff --git a/agentex/pyproject.toml b/agentex/pyproject.toml index cab3f41d..171370d6 100644 --- a/agentex/pyproject.toml +++ b/agentex/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "agentex-backend" -version = "0.1.0" +version = "0.2.0" description = "" authors = [{ name = "Felix Su", email = "felix.su@scale.com" }] requires-python = ">=3.12,<3.13" diff --git a/agentex/src/_version.py b/agentex/src/_version.py index bd85479f..cf1d7249 100644 --- a/agentex/src/_version.py +++ b/agentex/src/_version.py @@ -1,3 +1,3 @@ """Single source of the agentex contract version (bumped by release-please).""" -__version__ = "0.1.0" # x-release-please-version +__version__ = "0.2.0" # x-release-please-version diff --git a/pyproject.toml b/pyproject.toml index 6123bc43..6cc29c41 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "agentex" -version = "0.1.0" +version = "0.2.0" description = "agentex workspace" authors = [{ name = "Felix Su", email = "felix.su@scale.com" }] readme = "README.md"