| ... | @@ -9,7 +9,7 @@ agent can use this endpoint to: | ... | @@ -9,7 +9,7 @@ agent can use this endpoint to: |
| 9 | - wait for or poll the sub-agent's durable result; | 9 | - wait for or poll the sub-agent's durable result; |
| 10 | - cancel an active delegated task; and | 10 | - cancel an active delegated task; and |
| 11 | - create one or more ordinary top-level T3 threads; | 11 | - create one or more ordinary top-level T3 threads; |
| 12 | - list and incrementally read project threads; | 12 | - list a project's threads and incrementally read any thread; |
| 13 | - rename threads, regenerate titles, and link or unlink pull requests; | 13 | - rename threads, regenerate titles, and link or unlink pull requests; |
| 14 | - send or steer follow-up messages; and | 14 | - send or steer follow-up messages; and |
| 15 | - wait for or interrupt ordinary thread runs. | 15 | - wait for or interrupt ordinary thread runs. |
| ... | @@ -20,7 +20,7 @@ only the supplied task prompt, plus an optional role instruction supplied in | ... | @@ -20,7 +20,7 @@ only the supplied task prompt, plus an optional role instruction supplied in |
| 20 | the same tool call. Parent conversation history is not copied into the child. | 20 | the same tool call. Parent conversation history is not copied into the child. |
| 21 | | 21 | |
| 22 | `ThreadManagementService` is the shared server application boundary for V2 | 22 | `ThreadManagementService` is the shared server application boundary for V2 |
| 23 | WebSocket commands and MCP. It owns project-scoped lookup, listing, send-mode | 23 | WebSocket commands and MCP. It owns thread lookup, listing, send-mode |
| 24 | selection, durable send postconditions, wait polling, and interrupt selection; | 24 | selection, durable send postconditions, wait polling, and interrupt selection; |
| 25 | `OrchestratorV2` remains the lower-level command/event processor. Transport | 25 | `OrchestratorV2` remains the lower-level command/event processor. Transport |
| 26 | adapters only authenticate, resolve transport-specific inputs, and shape | 26 | adapters only authenticate, resolve transport-specific inputs, and shape |
| ... | @@ -331,15 +331,16 @@ launching again. `create_threads` remains the batch option for a shared checkout | ... | @@ -331,15 +331,16 @@ launching again. `create_threads` remains the batch option for a shared checkout |
| 331 | | 331 | |
| 332 | ### `t3_thread_list` | 332 | ### `t3_thread_list` |
| 333 | | 333 | |
| 334 | Lists durable thread shells in the calling thread's project, newest first. | 334 | Lists durable thread shells in one project, newest first: `projectId` when |
| 335 | Callers can filter by title, run status, and whether app-owned sub-agent threads | 335 | given, else the calling thread's project. Callers can filter by title, run |
| 336 | are included. Results are bounded and offset-paginated. Deleted threads and | 336 | status, and whether app-owned sub-agent threads are included. Results are |
| 337 | threads from other projects are never exposed. | 337 | bounded and offset-paginated. Deleted threads are never listed. |
| 338 | | 338 | |
| 339 | ### `t3_thread_read` | 339 | ### `t3_thread_read` |
| 340 | | 340 | |
| 341 | Reads a project-scoped thread's durable state, recent runs, and visible | 341 | Reads the durable state, recent runs, and visible timeline of any thread in |
| 342 | timeline. The default `messages` view returns user messages, assistant | 342 | the environment by thread ID. A deleted thread returns `thread_not_found`. The |
| | 343 | default `messages` view returns user messages, assistant |
| 343 | messages, and proposed plans. The `activity` view also returns summarized tool, | 344 | messages, and proposed plans. The `activity` view also returns summarized tool, |
| 344 | reasoning, checkpoint, handoff, and runtime-request items. Large item text is | 345 | reasoning, checkpoint, handoff, and runtime-request items. Large item text is |
| 345 | bounded and reports whether it was truncated. `afterPosition` and | 346 | bounded and reports whether it was truncated. `afterPosition` and |
| ... | @@ -353,7 +354,7 @@ distinguishable from human-authored messages. | ... | @@ -353,7 +354,7 @@ distinguishable from human-authored messages. |
| 353 | | 354 | |
| 354 | ### `t3_thread_update` | 355 | ### `t3_thread_update` |
| 355 | | 356 | |
| 356 | Updates metadata for the calling thread or another thread in the same project. | 357 | Updates metadata for the calling thread or any other thread in the environment. |
| 357 | The typed actions are `rename`, `regenerate_title`, `link_pull_request`, and | 358 | The typed actions are `rename`, `regenerate_title`, `link_pull_request`, and |
| 358 | `unlink_pull_request`. A link input supplies the repository, number, and URL; | 359 | `unlink_pull_request`. A link input supplies the repository, number, and URL; |
| 359 | the server records the target thread's project ID. Branch and workspace changes | 360 | the server records the target thread's project ID. Branch and workspace changes |
| ... | @@ -367,7 +368,7 @@ detail also exposes an in-flight title regeneration. | ... | @@ -367,7 +368,7 @@ detail also exposes an in-flight title regeneration. |
| 367 | | 368 | |
| 368 | ### `t3_thread_send` | 369 | ### `t3_thread_send` |
| 369 | | 370 | |
| 370 | Sends a message to an ordinary or delegated thread in the calling project: | 371 | Sends a message to any ordinary or delegated thread in the environment: |
| 371 | | 372 | |
| 372 | - `auto` starts an idle thread, steers a fully active turn, or queues behind a | 373 | - `auto` starts an idle thread, steers a fully active turn, or queues behind a |
| 373 | turn that is not yet steerable; | 374 | turn that is not yet steerable; |
| ... | @@ -434,9 +435,11 @@ results use the latest assistant content from the final work turn. | ... | @@ -434,9 +435,11 @@ results use the latest assistant content from the final work turn. |
| 434 | mode. It may not escalate privileges. | 435 | mode. It may not escalate privileges. |
| 435 | - A child interaction mode may stay equal to or narrow from `default` to | 436 | - A child interaction mode may stay equal to or narrow from `default` to |
| 436 | `plan`. It may not escalate from `plan` to `default`. | 437 | `plan`. It may not escalate from `plan` to `default`. |
| 437 | - General thread management is limited to the calling thread's project. Send | 438 | - Thread tools take any thread in the environment as a target. For a thread |
| 438 | additionally enforces the same runtime and interaction privilege ceiling as | 439 | caller, list and search cover one project: its own unless `projectId` is given. |
| 439 | child creation. | 440 | - A tool that changes another thread needs the calling thread's live run, and |
| | 441 | the target's runtime and interaction modes may not be broader than the |
| | 442 | caller's. This is the same privilege ceiling as child creation. |
| 440 | - Provider instances must be enabled, installed, available, authenticated, and | 443 | - Provider instances must be enabled, installed, available, authenticated, and |
| 441 | backed by a V2 adapter. | 444 | backed by a V2 adapter. |
| 442 | - A requested model must be advertised by the selected provider when the | 445 | - A requested model must be advertised by the selected provider when the |
| ... | @@ -497,7 +500,7 @@ Coverage includes: | ... | @@ -497,7 +500,7 @@ Coverage includes: |
| 497 | - async status polling; | 500 | - async status polling; |
| 498 | - cancellation; | 501 | - cancellation; |
| 499 | - batch ordinary-thread creation; | 502 | - batch ordinary-thread creation; |
| 500 | - project-scoped thread listing and timeline reads; | 503 | - thread listing and timeline reads, including another project's threads; |
| 501 | - ordinary-thread send, wait, steering, and interruption; | 504 | - ordinary-thread send, wait, steering, and interruption; |
| 502 | - inheritance and per-thread provider overrides; and | 505 | - inheritance and per-thread provider overrides; and |
| 503 | - idempotent retries. | 506 | - idempotent retries. |