2026-10-13 22:19:20 -07:00
//go:build go1.22
// Package api provides primitives to interact with the openapi HTTP API.
//
// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.8.0 DO NOT EDIT.
package api
import (
"bytes"
"compress/flate"
"encoding/base64"
"errors"
"fmt"
"net/http"
"net/url"
"path"
"strings"
"time"
"github.com/getkin/kin-openapi/openapi3"
"github.com/oapi-codegen/runtime"
)
2026-10-14 22:35:53 -07:00
// Defines values for AgentProcessHealth.
const (
HealthExited AgentProcessHealth = "exited"
HealthOk AgentProcessHealth = "ok"
HealthStuck AgentProcessHealth = "stuck"
)
// Valid indicates whether the value is a known member of the AgentProcessHealth enum.
func ( e AgentProcessHealth ) Valid () bool {
switch e {
case HealthExited :
return true
case HealthOk :
return true
case HealthStuck :
return true
default :
return false
}
}
2026-10-13 22:30:39 -07:00
// Defines values for AgentSessionRole.
const (
Implementer AgentSessionRole = "implementer"
2026-10-15 09:40:30 -07:00
Lead AgentSessionRole = "lead"
2026-10-15 16:33:17 -07:00
Reviewer AgentSessionRole = "reviewer"
2026-10-13 22:30:39 -07:00
)
// Valid indicates whether the value is a known member of the AgentSessionRole enum.
func ( e AgentSessionRole ) Valid () bool {
switch e {
case Implementer :
return true
2026-10-15 09:40:30 -07:00
case Lead :
return true
2026-10-15 16:33:17 -07:00
case Reviewer :
return true
2026-10-13 22:30:39 -07:00
default :
return false
}
}
// Defines values for AgentSessionState.
const (
AgentSessionStateCompleted AgentSessionState = "completed"
AgentSessionStateIdle AgentSessionState = "idle"
AgentSessionStateRunning AgentSessionState = "running"
)
// Valid indicates whether the value is a known member of the AgentSessionState enum.
func ( e AgentSessionState ) Valid () bool {
switch e {
case AgentSessionStateCompleted :
return true
case AgentSessionStateIdle :
return true
case AgentSessionStateRunning :
return true
default :
return false
}
}
// Defines values for AgentSessionVendor.
const (
2026-10-18 16:05:50 -07:00
Antigravity AgentSessionVendor = "antigravity"
Claude AgentSessionVendor = "claude"
Codex AgentSessionVendor = "codex"
2026-10-13 22:30:39 -07:00
)
// Valid indicates whether the value is a known member of the AgentSessionVendor enum.
func ( e AgentSessionVendor ) Valid () bool {
switch e {
2026-10-18 16:05:50 -07:00
case Antigravity :
return true
2026-10-13 22:30:39 -07:00
case Claude :
return true
2026-10-15 14:55:58 -07:00
case Codex :
return true
2026-10-13 22:30:39 -07:00
default :
return false
}
}
2026-10-14 07:02:56 -07:00
// Defines values for AttachmentKind.
const (
AttachmentKindDiagram AttachmentKind = "diagram"
AttachmentKindDiff AttachmentKind = "diff"
AttachmentKindFile AttachmentKind = "file"
AttachmentKindImage AttachmentKind = "image"
AttachmentKindSnapshot AttachmentKind = "snapshot"
AttachmentKindTask AttachmentKind = "task"
AttachmentKindUrl AttachmentKind = "url"
)
// Valid indicates whether the value is a known member of the AttachmentKind enum.
func ( e AttachmentKind ) Valid () bool {
switch e {
case AttachmentKindDiagram :
return true
case AttachmentKindDiff :
return true
case AttachmentKindFile :
return true
case AttachmentKindImage :
return true
case AttachmentKindSnapshot :
return true
case AttachmentKindTask :
return true
case AttachmentKindUrl :
return true
default :
return false
}
}
2026-10-17 23:45:31 -07:00
// Defines values for ClientRequestOp.
const (
2026-10-18 00:13:37 -07:00
Bash ClientRequestOp = "bash"
Download ClientRequestOp = "download"
Hands ClientRequestOp = "hands"
ReadFile ClientRequestOp = "read_file"
2026-10-18 22:55:23 -07:00
Sign ClientRequestOp = "sign"
2026-10-18 00:13:37 -07:00
Upload ClientRequestOp = "upload"
WriteFile ClientRequestOp = "write_file"
2026-10-17 23:45:31 -07:00
)
// Valid indicates whether the value is a known member of the ClientRequestOp enum.
func ( e ClientRequestOp ) Valid () bool {
switch e {
case Bash :
return true
2026-10-18 00:13:37 -07:00
case Download :
2026-10-17 23:45:31 -07:00
return true
case Hands :
return true
2026-10-18 00:13:37 -07:00
case ReadFile :
return true
2026-10-18 22:55:23 -07:00
case Sign :
return true
2026-10-18 00:13:37 -07:00
case Upload :
return true
case WriteFile :
return true
2026-10-17 23:45:31 -07:00
default :
return false
}
}
2026-10-15 07:31:53 -07:00
// Defines values for DirEntryType.
const (
DirEntryTypeDir DirEntryType = "dir"
DirEntryTypeFile DirEntryType = "file"
DirEntryTypeOther DirEntryType = "other"
)
// Valid indicates whether the value is a known member of the DirEntryType enum.
func ( e DirEntryType ) Valid () bool {
switch e {
case DirEntryTypeDir :
return true
case DirEntryTypeFile :
return true
case DirEntryTypeOther :
return true
default :
return false
}
}
2026-10-14 19:35:34 -07:00
// Defines values for FileChangeStatus.
const (
Added FileChangeStatus = "added"
Deleted FileChangeStatus = "deleted"
Modified FileChangeStatus = "modified"
Renamed FileChangeStatus = "renamed"
TypeChanged FileChangeStatus = "type_changed"
)
// Valid indicates whether the value is a known member of the FileChangeStatus enum.
func ( e FileChangeStatus ) Valid () bool {
switch e {
case Added :
return true
case Deleted :
return true
case Modified :
return true
case Renamed :
return true
case TypeChanged :
return true
default :
return false
}
}
2026-10-19 09:14:21 -07:00
// Defines values for FindingResponseResponse.
const (
FindingFixing FindingResponseResponse = "fixing"
FindingIgnoring FindingResponseResponse = "ignoring"
)
// Valid indicates whether the value is a known member of the FindingResponseResponse enum.
func ( e FindingResponseResponse ) Valid () bool {
switch e {
case FindingFixing :
return true
case FindingIgnoring :
return true
default :
return false
}
}
2026-10-16 10:44:27 -07:00
// Defines values for FindingState.
const (
FindingFixed FindingState = "fixed"
FindingIgnored FindingState = "ignored"
)
// Valid indicates whether the value is a known member of the FindingState enum.
func ( e FindingState ) Valid () bool {
switch e {
case FindingFixed :
return true
case FindingIgnored :
return true
default :
return false
}
}
2026-10-14 07:02:56 -07:00
// Defines values for InboxResponseType.
const (
2026-10-18 15:06:06 -07:00
Option InboxResponseType = "option"
Other InboxResponseType = "other"
2026-10-14 07:02:56 -07:00
)
// Valid indicates whether the value is a known member of the InboxResponseType enum.
func ( e InboxResponseType ) Valid () bool {
switch e {
2026-10-14 10:37:04 -07:00
case Option :
2026-10-14 07:02:56 -07:00
return true
2026-10-14 10:37:04 -07:00
case Other :
2026-10-14 07:02:56 -07:00
return true
default :
return false
}
}
// Defines values for InboxState.
const (
Answered InboxState = "answered"
Dismissed InboxState = "dismissed"
Open InboxState = "open"
Superseded InboxState = "superseded"
)
// Valid indicates whether the value is a known member of the InboxState enum.
func ( e InboxState ) Valid () bool {
switch e {
case Answered :
return true
case Dismissed :
return true
case Open :
return true
case Superseded :
return true
default :
return false
}
}
2026-10-18 22:17:54 -07:00
// Defines values for PermissionStatus.
const (
Granted PermissionStatus = "granted"
Missing PermissionStatus = "missing"
Unchecked PermissionStatus = "unchecked"
)
// Valid indicates whether the value is a known member of the PermissionStatus enum.
func ( e PermissionStatus ) Valid () bool {
switch e {
case Granted :
return true
case Missing :
return true
case Unchecked :
return true
default :
return false
}
}
2026-10-15 16:33:17 -07:00
// Defines values for ReviewState.
const (
ReviewStateDone ReviewState = "done"
ReviewStateFailed ReviewState = "failed"
ReviewStateRunning ReviewState = "running"
2026-10-15 20:07:36 -07:00
ReviewStateSkipped ReviewState = "skipped"
2026-10-15 16:33:17 -07:00
)
// Valid indicates whether the value is a known member of the ReviewState enum.
func ( e ReviewState ) Valid () bool {
switch e {
case ReviewStateDone :
return true
case ReviewStateFailed :
return true
case ReviewStateRunning :
return true
2026-10-15 20:07:36 -07:00
case ReviewStateSkipped :
return true
2026-10-15 16:33:17 -07:00
default :
return false
}
}
2026-10-14 22:52:02 -07:00
// Defines values for SnapshotTrigger.
const (
2026-10-18 15:06:06 -07:00
SnapshotTriggerAnswer SnapshotTrigger = "answer"
2026-10-17 07:43:33 -07:00
SnapshotTriggerAskHuman SnapshotTrigger = "ask_human"
SnapshotTriggerMessage SnapshotTrigger = "message"
SnapshotTriggerRequested SnapshotTrigger = "requested"
SnapshotTriggerTimer SnapshotTrigger = "timer"
SnapshotTriggerToolCall SnapshotTrigger = "tool_call"
SnapshotTriggerTurnEnd SnapshotTrigger = "turn_end"
2026-10-14 22:52:02 -07:00
)
// Valid indicates whether the value is a known member of the SnapshotTrigger enum.
func ( e SnapshotTrigger ) Valid () bool {
switch e {
2026-10-18 15:06:06 -07:00
case SnapshotTriggerAnswer :
return true
2026-10-14 22:52:02 -07:00
case SnapshotTriggerAskHuman :
return true
2026-10-15 11:36:51 -07:00
case SnapshotTriggerMessage :
return true
2026-10-17 07:43:33 -07:00
case SnapshotTriggerRequested :
return true
2026-10-14 22:52:02 -07:00
case SnapshotTriggerTimer :
return true
case SnapshotTriggerToolCall :
return true
case SnapshotTriggerTurnEnd :
return true
default :
return false
}
}
2026-10-15 22:53:54 -07:00
// Defines values for StageBase.
const (
StageBaseMain StageBase = "main"
StageBaseParent StageBase = "parent"
)
// Valid indicates whether the value is a known member of the StageBase enum.
func ( e StageBase ) Valid () bool {
switch e {
case StageBaseMain :
return true
case StageBaseParent :
return true
default :
return false
}
}
2026-10-16 11:01:53 -07:00
// Defines values for StageAttemptState.
const (
AttemptStateCleanedUp StageAttemptState = "cleaned_up"
AttemptStateDiscarded StageAttemptState = "discarded"
AttemptStateFinished StageAttemptState = "finished"
AttemptStateIdle StageAttemptState = "idle"
AttemptStateMerged StageAttemptState = "merged"
AttemptStateRunning StageAttemptState = "running"
)
// Valid indicates whether the value is a known member of the StageAttemptState enum.
func ( e StageAttemptState ) Valid () bool {
switch e {
case AttemptStateCleanedUp :
return true
case AttemptStateDiscarded :
return true
case AttemptStateFinished :
return true
case AttemptStateIdle :
return true
case AttemptStateMerged :
return true
case AttemptStateRunning :
return true
default :
return false
}
}
2026-10-16 11:15:32 -07:00
// Defines values for TaskState.
const (
TaskStateDiscarded TaskState = "discarded"
TaskStateDiscarding TaskState = "discarding"
TaskStateIdle TaskState = "idle"
TaskStateMerged TaskState = "merged"
TaskStateMerging TaskState = "merging"
TaskStateNoAgent TaskState = "no_agent"
TaskStateReviewPending TaskState = "review_pending"
TaskStateReviewing TaskState = "reviewing"
TaskStateRunning TaskState = "running"
)
// Valid indicates whether the value is a known member of the TaskState enum.
func ( e TaskState ) Valid () bool {
switch e {
case TaskStateDiscarded :
return true
case TaskStateDiscarding :
return true
case TaskStateIdle :
return true
case TaskStateMerged :
return true
case TaskStateMerging :
return true
case TaskStateNoAgent :
return true
case TaskStateReviewPending :
return true
case TaskStateReviewing :
return true
case TaskStateRunning :
return true
default :
return false
}
}
2026-10-13 22:19:20 -07:00
// Defines values for TaskStatus.
const (
2026-10-13 22:30:39 -07:00
TaskStatusActive TaskStatus = "active"
2026-10-14 19:35:34 -07:00
TaskStatusDiscarded TaskStatus = "discarded"
TaskStatusMerged TaskStatus = "merged"
2026-10-13 22:19:20 -07:00
)
// Valid indicates whether the value is a known member of the TaskStatus enum.
func ( e TaskStatus ) Valid () bool {
switch e {
2026-10-13 22:30:39 -07:00
case TaskStatusActive :
2026-10-13 22:19:20 -07:00
return true
2026-10-14 19:35:34 -07:00
case TaskStatusDiscarded :
return true
case TaskStatusMerged :
2026-10-13 22:19:20 -07:00
return true
default :
return false
}
}
2026-10-15 09:40:30 -07:00
// Defines values for TaskTab.
const (
2026-10-18 08:48:57 -07:00
TabBoard TaskTab = "board"
2026-10-15 09:40:30 -07:00
TabChanges TaskTab = "changes"
TabFiles TaskTab = "files"
2026-10-15 10:36:32 -07:00
TabProject TaskTab = "project"
2026-10-15 12:06:50 -07:00
TabTerminal TaskTab = "terminal"
2026-10-15 09:40:30 -07:00
TabTranscript TaskTab = "transcript"
2026-10-16 11:01:53 -07:00
TabWorkflow TaskTab = "workflow"
2026-10-15 09:40:30 -07:00
)
// Valid indicates whether the value is a known member of the TaskTab enum.
func ( e TaskTab ) Valid () bool {
switch e {
2026-10-18 08:48:57 -07:00
case TabBoard :
return true
2026-10-15 09:40:30 -07:00
case TabChanges :
return true
case TabFiles :
return true
2026-10-15 10:36:32 -07:00
case TabProject :
2026-10-15 09:40:30 -07:00
return true
2026-10-15 12:06:50 -07:00
case TabTerminal :
return true
2026-10-15 09:40:30 -07:00
case TabTranscript :
return true
2026-10-16 11:01:53 -07:00
case TabWorkflow :
return true
default :
return false
}
}
// Defines values for WorkflowRunStageState.
const (
StageStateCleanedUp WorkflowRunStageState = "cleaned_up"
StageStateDiscarded WorkflowRunStageState = "discarded"
StageStateFinished WorkflowRunStageState = "finished"
StageStateIdle WorkflowRunStageState = "idle"
StageStateMerged WorkflowRunStageState = "merged"
StageStateRunning WorkflowRunStageState = "running"
StageStateWaiting WorkflowRunStageState = "waiting"
)
// Valid indicates whether the value is a known member of the WorkflowRunStageState enum.
func ( e WorkflowRunStageState ) Valid () bool {
switch e {
case StageStateCleanedUp :
return true
case StageStateDiscarded :
return true
case StageStateFinished :
return true
case StageStateIdle :
return true
case StageStateMerged :
return true
case StageStateRunning :
return true
case StageStateWaiting :
return true
2026-10-15 09:40:30 -07:00
default :
return false
}
}
2026-10-14 22:35:53 -07:00
// Defines values for ZombieKind.
const (
ProcessWithoutSession ZombieKind = "process_without_session"
RunningWithoutProcess ZombieKind = "running_without_process"
)
// Valid indicates whether the value is a known member of the ZombieKind enum.
func ( e ZombieKind ) Valid () bool {
switch e {
case ProcessWithoutSession :
return true
case RunningWithoutProcess :
return true
default :
return false
}
}
2026-10-16 10:36:38 -07:00
// Defines values for MergeTaskJSONBodyTarget.
const (
MergeTargetMain MergeTaskJSONBodyTarget = "main"
MergeTargetParent MergeTaskJSONBodyTarget = "parent"
)
// Valid indicates whether the value is a known member of the MergeTaskJSONBodyTarget enum.
func ( e MergeTaskJSONBodyTarget ) Valid () bool {
switch e {
case MergeTargetMain :
return true
case MergeTargetParent :
return true
default :
return false
}
}
2026-10-14 22:35:53 -07:00
// AgentProcess defines model for AgentProcess.
type AgentProcess struct {
// Health stuck means a turn is running and no stream event has arrived for stuck_after_seconds; exited means the process is gone.
Health AgentProcessHealth `json:"health"`
// LastEventAt When the process last wrote a line to its stream
LastEventAt time . Time `json:"last_event_at"`
Pid int `json:"pid"`
SessionId string `json:"session_id"`
// State The session's state
State string `json:"state"`
TaskId string `json:"task_id"`
Vendor string `json:"vendor"`
}
// AgentProcessHealth stuck means a turn is running and no stream event has arrived for stuck_after_seconds; exited means the process is gone.
type AgentProcessHealth string
2026-10-13 22:30:39 -07:00
// AgentSession defines model for AgentSession.
type AgentSession struct {
CreatedAt time . Time `json:"created_at"`
CreatedBy string `json:"created_by"`
2026-10-15 11:36:51 -07:00
2026-10-15 14:55:58 -07:00
// ForkedAt With forked_from: the vendor's id of the last thing the fork keeps, a message for Claude Code, a turn for Codex.
2026-10-15 11:36:51 -07:00
ForkedAt * string `json:"forked_at,omitempty"`
// ForkedFrom A fork's first start resumes this vendor session, cut at forked_at, under a new vendor_session_id; absent for other sessions.
ForkedFrom * string `json:"forked_from,omitempty"`
Id string `json:"id"`
2026-10-13 22:30:39 -07:00
2026-10-18 08:48:57 -07:00
// Member The agent's name in its task's team; empty on a task with one agent, and for leads and reviewers.
Member string `json:"member"`
2026-10-15 14:55:58 -07:00
// Model Requested model; empty means the vendor's default. A session only switches between its own vendor's models.
2026-10-15 09:40:30 -07:00
Model string `json:"model"`
// Owner The login whose lead agent this is; empty for a task's session.
2026-10-15 16:33:17 -07:00
Owner string `json:"owner"`
// Role reviewer: a review's session (see Review); a task's sessions list leaves these out.
2026-10-15 14:55:58 -07:00
Role AgentSessionRole `json:"role"`
2026-10-15 09:40:30 -07:00
State AgentSessionState `json:"state"`
2026-10-17 08:21:11 -07:00
// Subagents How many of the agent's subagents are running, background ones included after the turn that started them has ended.
Subagents int `json:"subagents"`
2026-10-15 09:40:30 -07:00
// TaskId Empty for a lead session.
2026-10-15 14:55:58 -07:00
TaskId string `json:"task_id"`
2026-10-18 16:05:50 -07:00
// Vendor Follows from the model the session was created with: gpt-* models run on Codex, gemini-* models on Antigravity, every other model on Claude Code.
2026-10-15 14:55:58 -07:00
Vendor AgentSessionVendor `json:"vendor"`
2026-10-18 16:05:50 -07:00
// VendorSessionId Claude Code's session id, chosen by byre; or the Codex thread id or Antigravity conversation id, empty until the session first starts.
2026-10-15 14:55:58 -07:00
VendorSessionId string `json:"vendor_session_id"`
2026-10-13 22:30:39 -07:00
}
2026-10-15 16:33:17 -07:00
// AgentSessionRole reviewer: a review's session (see Review); a task's sessions list leaves these out.
2026-10-13 22:30:39 -07:00
type AgentSessionRole string
2026-10-15 14:55:58 -07:00
// AgentSessionState defines model for AgentSession.State.
2026-10-13 22:30:39 -07:00
type AgentSessionState string
2026-10-18 16:05:50 -07:00
// AgentSessionVendor Follows from the model the session was created with: gpt-* models run on Codex, gemini-* models on Antigravity, every other model on Claude Code.
2026-10-13 22:30:39 -07:00
type AgentSessionVendor string
2026-10-14 07:02:56 -07:00
// Attachment defines model for Attachment.
type Attachment struct {
Caption * string `json:"caption,omitempty"`
EndLine * int `json:"end_line,omitempty"`
// Image image: data URL.
Image * string `json:"image,omitempty"`
Kind AttachmentKind `json:"kind"`
// Mermaid diagram: Mermaid source.
Mermaid * string `json:"mermaid,omitempty"`
2026-10-15 07:27:17 -07:00
// Path file: repo-relative path. image: an image file in the task's worktree, absolute or relative to it.
2026-10-14 07:02:56 -07:00
Path * string `json:"path,omitempty"`
// Ref diff: git revision range.
Ref * string `json:"ref,omitempty"`
SnapshotId * string `json:"snapshot_id,omitempty"`
StartLine * int `json:"start_line,omitempty"`
TaskId * string `json:"task_id,omitempty"`
Url * string `json:"url,omitempty"`
}
// AttachmentKind defines model for Attachment.Kind.
type AttachmentKind string
2026-10-14 20:07:26 -07:00
// Blob defines model for Blob.
type Blob struct {
ContentType string `json:"content_type"`
CreatedAt time . Time `json:"created_at"`
CreatedBy string `json:"created_by"`
Id string `json:"id"`
}
2026-10-18 08:48:57 -07:00
// BoardPostCreate defines model for BoardPostCreate.
type BoardPostCreate struct {
Text string `json:"text"`
}
2026-10-17 23:45:31 -07:00
// ClientReply defines model for ClientReply.
type ClientReply struct {
2026-10-18 22:55:23 -07:00
// Data read_file: the file's contents. sign: the detached signature.
2026-10-18 00:13:37 -07:00
Data * [] byte `json:"data,omitempty"`
2026-10-17 23:45:31 -07:00
// Error Set when the request couldn't be carried out.
Error * string `json:"error,omitempty"`
2026-10-18 22:55:23 -07:00
// ExitCode bash, sign: the exit status, -1 when it was killed by its timeout.
2026-10-17 23:45:31 -07:00
ExitCode * int `json:"exit_code,omitempty"`
// Id The request's id.
Id string `json:"id"`
2026-10-18 22:55:23 -07:00
// Output bash: stdout and stderr together, at most their last 64 KiB. sign: the signing program's stderr, where it writes its GnuPG status lines, and the login shell's output.
2026-10-17 23:45:31 -07:00
Output * string `json:"output,omitempty"`
// Result hands: the tool's MCP CallToolResult.
Result * map [ string ] interface {} `json:"result,omitempty"`
}
2026-10-18 22:55:23 -07:00
// ClientRequest Work a task agent, or a merge, asks a connected Mac to do, sent over /api/clients/connect.
2026-10-17 23:45:31 -07:00
type ClientRequest struct {
// Arguments hands: the tool's arguments.
Arguments * map [ string ] interface {} `json:"arguments,omitempty"`
// Command bash: run with zsh as a login shell in the home directory, in its own process group.
Command * string `json:"command,omitempty"`
2026-10-18 22:55:23 -07:00
// Data write_file: the file's new contents; parent directories are created. sign: the unsigned commit object, which the Mac signs with the program its git config names for its gpg.format (openpgp or x509), called as git calls it.
2026-10-18 00:13:37 -07:00
Data * [] byte `json:"data,omitempty"`
// Dest upload: where the archive's one entry ends up, absolute or starting with ~/; whatever is there is replaced.
2026-10-18 22:55:23 -07:00
Dest * string `json:"dest,omitempty"`
Id string `json:"id"`
// Ident sign: the committer, as "Name <email>", to sign as when the Mac's git config has no user.signingkey.
Ident * string `json:"ident,omitempty"`
Op ClientRequestOp `json:"op"`
2026-10-17 23:45:31 -07:00
2026-10-18 00:13:37 -07:00
// Path download, read_file, write_file: the file (or, for download, file or directory) on the client, absolute or starting with ~/.
Path * string `json:"path,omitempty"`
2026-10-18 22:55:23 -07:00
// TimeoutMs bash, sign: kill the process group after this long.
2026-10-17 23:45:31 -07:00
TimeoutMs * int `json:"timeout_ms,omitempty"`
// Tool hands: the byre-hands tool to call.
Tool * string `json:"tool,omitempty"`
2026-10-18 00:13:37 -07:00
// Transfer upload: the transfer id to get from /api/clients/transfers/{transferId}. download: the transfer id to put the archive to.
2026-10-17 23:45:31 -07:00
Transfer * string `json:"transfer,omitempty"`
}
// ClientRequestOp defines model for ClientRequest.Op.
type ClientRequestOp string
2026-10-18 00:43:00 -07:00
// CompactCreate defines model for CompactCreate.
type CompactCreate struct {
// Model Model for the new session, on either vendor. The old session still writes the handoff. Defaults to the old session's model.
Model * string `json:"model,omitempty"`
}
2026-10-17 15:32:35 -07:00
// ConnectedClient defines model for ConnectedClient.
type ConnectedClient struct {
// Commit The git commit the app was built from
Commit string `json:"commit"`
2026-10-18 09:16:31 -07:00
// ConnectedAt When the client's WebSocket connected.
2026-10-17 15:32:35 -07:00
ConnectedAt time . Time `json:"connected_at"`
2026-10-18 09:16:31 -07:00
// Host The Mac's name from its Byre-Host header.
2026-10-17 23:24:26 -07:00
Host string `json:"host"`
2026-10-18 09:16:31 -07:00
// Id The ID the app made up when it started
Id string `json:"id"`
2026-10-17 23:24:26 -07:00
// LastActionAt When byre last received a request the human made from this client since byre started; absent when none.
LastActionAt * time . Time `json:"last_action_at,omitempty"`
Login string `json:"login"`
2026-10-17 15:32:35 -07:00
}
2026-10-18 00:57:51 -07:00
// DefaultModel defines model for DefaultModel.
type DefaultModel struct {
Model string `json:"model"`
}
2026-10-15 07:31:53 -07:00
// DirEntry defines model for DirEntry.
type DirEntry struct {
// Ignored git ignores the entry: .gitignore and the other exclude files match it or a directory above it.
Ignored bool `json:"ignored"`
Name string `json:"name"`
// Size file: its size in bytes.
Size int64 `json:"size"`
Symlink bool `json:"symlink"`
// Type What the entry is, following a symlink that stays in the worktree. other: a symlink that leaves the worktree or points nowhere, or a device, socket or pipe.
Type DirEntryType `json:"type"`
}
// DirEntryType What the entry is, following a symlink that stays in the worktree. other: a symlink that leaves the worktree or points nowhere, or a device, socket or pipe.
type DirEntryType string
// DirListing defines model for DirListing.
type DirListing struct {
Entries [] DirEntry `json:"entries"`
// Path The directory, relative to the worktree root; empty for the root.
Path string `json:"path"`
// Truncated The directory has more entries than were returned.
Truncated bool `json:"truncated"`
}
2026-10-13 22:19:20 -07:00
// Error defines model for Error.
type Error struct {
Message string `json:"message"`
}
// Event defines model for Event.
type Event struct {
2026-10-15 09:40:30 -07:00
Actor string `json:"actor"`
AgentSessionId * string `json:"agent_session_id,omitempty"`
CreatedAt time . Time `json:"created_at"`
Kind string `json:"kind"`
// Owner Set on a lead agent's events and a user's focus.updated: the login they belong to. Only that user is sent them.
Owner * string `json:"owner,omitempty"`
Payload map [ string ] interface {} `json:"payload"`
ProjectId * string `json:"project_id,omitempty"`
Seq int64 `json:"seq"`
TaskId * string `json:"task_id,omitempty"`
2026-10-13 22:30:39 -07:00
}
2026-10-16 18:11:00 -07:00
// EventPage defines model for EventPage.
type EventPage struct {
Events [] Event `json:"events"`
// More Whether there are earlier events than this page.
More bool `json:"more"`
}
2026-10-14 19:35:34 -07:00
// FileChange defines model for FileChange.
type FileChange struct {
Additions int `json:"additions"`
Binary bool `json:"binary"`
Deletions int `json:"deletions"`
// OldPath renamed: the path before the rename.
OldPath * string `json:"old_path,omitempty"`
Path string `json:"path"`
Status FileChangeStatus `json:"status"`
}
// FileChangeStatus defines model for FileChange.Status.
type FileChangeStatus string
2026-10-15 07:31:53 -07:00
// FileContent defines model for FileContent.
type FileContent struct {
// Binary The file isn't UTF-8 text; text is empty.
Binary bool `json:"binary"`
Path string `json:"path"`
Size int64 `json:"size"`
Text string `json:"text"`
// Truncated text holds only the start of the file.
Truncated bool `json:"truncated"`
}
2026-10-14 19:35:34 -07:00
// FileDiff defines model for FileDiff.
type FileDiff struct {
Patch string `json:"patch"`
Path string `json:"path"`
}
2026-10-19 09:14:21 -07:00
// FindingResponse defines model for FindingResponse.
type FindingResponse struct {
// Reason What the agent is doing about it, or why it leaves it.
Reason string `json:"reason"`
Response FindingResponseResponse `json:"response"`
}
// FindingResponseResponse defines model for FindingResponse.Response.
type FindingResponseResponse string
2026-10-16 10:44:27 -07:00
// FindingState fixed: sent to the task's agent to fix. ignored: dismissed, and left out of the Merge warning.
type FindingState string
// FindingStateUpdate defines model for FindingStateUpdate.
type FindingStateUpdate struct {
// State fixed: sent to the task's agent to fix. ignored: dismissed, and left out of the Merge warning.
State FindingState `json:"state"`
}
2026-10-15 09:40:30 -07:00
// Focus defines model for Focus.
type Focus struct {
2026-10-15 09:59:13 -07:00
// ProjectId The project the right pane shows; the task's project when task_id is set
ProjectId * string `json:"project_id,omitempty"`
Tab TaskTab `json:"tab"`
2026-10-15 09:40:30 -07:00
// TaskId The task the right pane shows; absent for none.
TaskId * string `json:"task_id,omitempty"`
}
2026-10-18 15:06:06 -07:00
// InboxItem A question an agent asked the human with ask_human.
2026-10-14 07:02:56 -07:00
type InboxItem struct {
2026-10-18 15:06:06 -07:00
AgentSessionId string `json:"agent_session_id"`
CreatedAt time . Time `json:"created_at"`
Id string `json:"id"`
2026-10-14 07:02:56 -07:00
2026-10-18 15:06:06 -07:00
// Payload context (Markdown with the choices inline as `- ( ) text` / `- (*) text` pick-one or `- [ ] text` / `- [x] text` pick-any list items), question, why_blocked, options (each choice's text, in order), multiple (true for pick-any), recommended (the marked choices' text), attachments.
2026-10-14 23:34:39 -07:00
Payload map [ string ] interface {} `json:"payload"`
ProjectId string `json:"project_id"`
ResolvedAt * time . Time `json:"resolved_at,omitempty"`
ResolvedBy * string `json:"resolved_by,omitempty"`
Responses [] InboxResponse `json:"responses"`
2026-10-16 13:56:46 -07:00
State InboxState `json:"state"`
TaskId string `json:"task_id"`
ThreadId string `json:"thread_id"`
2026-10-14 07:02:56 -07:00
}
// InboxRespond defines model for InboxRespond.
type InboxRespond struct {
Responses [] InboxResponseCreate `json:"responses"`
}
// InboxResponse defines model for InboxResponse.
type InboxResponse struct {
2026-10-16 22:49:06 -07:00
Attachments [] Attachment `json:"attachments"`
2026-10-17 23:45:31 -07:00
CreatedAt time . Time `json:"created_at"`
DeliveredAt * time . Time `json:"delivered_at,omitempty"`
Id string `json:"id"`
2026-10-16 22:49:06 -07:00
// Images Blob ids sent to the agent as images alongside the response.
2026-10-18 15:06:06 -07:00
Images [] string `json:"images"`
ItemId string `json:"item_id"`
Options * [] string `json:"options,omitempty"`
// SnapshotN The task's snapshot of the worktree as it stood just before the response was handed to the agent; absent until delivered, and when no snapshot could be taken.
SnapshotN * int `json:"snapshot_n,omitempty"`
Text * string `json:"text,omitempty"`
Type InboxResponseType `json:"type"`
User string `json:"user"`
2026-10-14 07:02:56 -07:00
}
// InboxResponseCreate defines model for InboxResponseCreate.
type InboxResponseCreate struct {
Attachments * [] Attachment `json:"attachments,omitempty"`
2026-10-16 22:49:06 -07:00
// Images other, or option on a pick-any question: blob ids from uploadBlob, sent to the agent as images alongside the response.
Images * [] string `json:"images,omitempty"`
ItemId string `json:"item_id"`
2026-10-14 07:02:56 -07:00
2026-10-14 23:34:39 -07:00
// Options option: the chosen options; exactly one for a pick-one question, one or more for a pick-any question.
Options * [] string `json:"options,omitempty"`
2026-10-14 07:02:56 -07:00
2026-10-16 22:49:06 -07:00
// Text other: the text sent to the agent, which may be empty when images are given. option on a pick-any question: optional text sent along with the checked options.
2026-10-14 07:02:56 -07:00
Text * string `json:"text,omitempty"`
Type InboxResponseType `json:"type"`
}
// InboxResponseType defines model for InboxResponseType.
type InboxResponseType string
// InboxState defines model for InboxState.
type InboxState string
2026-10-16 10:50:29 -07:00
// LeadNote defines model for LeadNote.
type LeadNote struct {
CreatedAt time . Time `json:"created_at"`
Id string `json:"id"`
2026-10-16 23:12:14 -07:00
// ProjectId The project the note applies to; absent for a note that applies to every project.
ProjectId * string `json:"project_id,omitempty"`
2026-10-16 10:50:29 -07:00
Text string `json:"text"`
UpdatedAt time . Time `json:"updated_at"`
}
2026-10-13 22:30:39 -07:00
// MessageCreate defines model for MessageCreate.
type MessageCreate struct {
2026-10-14 20:07:26 -07:00
// Images Blob ids from uploadBlob, sent to the agent as images alongside the text.
Images * [] string `json:"images,omitempty"`
2026-10-14 19:35:34 -07:00
// Model Model for this turn and later ones. When it differs from the session's model, the session switches before the message is sent.
Model * string `json:"model,omitempty"`
2026-10-14 20:07:26 -07:00
// Text May be empty when images are given.
Text string `json:"text"`
2026-10-13 22:19:20 -07:00
}
2026-10-18 15:06:06 -07:00
// NotificationPrefs Which new questions, finished turns, errors and rate limits notify this user in their open byre pages.
2026-10-14 21:25:01 -07:00
type NotificationPrefs struct {
2026-10-18 15:06:06 -07:00
// Errors session.error events on tasks.
2026-10-14 21:25:01 -07:00
Errors bool `json:"errors"`
2026-10-16 08:35:49 -07:00
// Questions Questions. On by default.
2026-10-14 21:25:01 -07:00
Questions bool `json:"questions"`
2026-10-18 15:06:06 -07:00
// RateLimits session.rate_limited events on tasks.
2026-10-14 21:25:01 -07:00
RateLimits bool `json:"rate_limits"`
2026-10-15 20:01:53 -07:00
// Reports Task turns that end with a summary (turn.ended with summary: true).
2026-10-14 21:25:01 -07:00
Reports bool `json:"reports"`
}
2026-10-15 09:59:13 -07:00
// PaneFocus defines model for PaneFocus.
type PaneFocus struct {
2026-10-16 09:51:32 -07:00
// Drafting True while a text box in the right pane holds unsent text.
Drafting bool `json:"drafting"`
2026-10-17 12:06:40 -07:00
// Focused True while the app's window has focus and the focused element is inside the right pane.
2026-10-15 09:59:13 -07:00
Focused bool `json:"focused"`
}
2026-10-15 07:15:51 -07:00
// Participant defines model for Participant.
type Participant struct {
DisplayName string `json:"display_name"`
GitEmail string `json:"git_email"`
// GitName Empty when the user hasn't set a git identity; they then get no trailer.
GitName string `json:"git_name"`
Login string `json:"login"`
}
2026-10-18 22:17:54 -07:00
// Permission defines model for Permission.
type Permission struct {
// Detail What the test did or why it failed, and what to switch on.
Detail string `json:"detail"`
// Name The privacy grant, such as Screen Recording.
Name string `json:"name"`
// Settings The x-apple.systempreferences URL of the grant's System Settings pane.
Settings string `json:"settings"`
// Status unchecked when the test couldn't run, such as Automation of Orion while Orion isn't running.
Status PermissionStatus `json:"status"`
}
// PermissionStatus unchecked when the test couldn't run, such as Automation of Orion while Orion isn't running.
type PermissionStatus string
2026-10-15 13:15:49 -07:00
// Preview defines model for Preview.
type Preview struct {
CreatedAt time . Time `json:"created_at"`
Name string `json:"name"`
// Port A port in the task's block, served at https://<byre's host>:<port>/.
Port int `json:"port"`
TaskId string `json:"task_id"`
}
2026-10-13 22:19:20 -07:00
// Project defines model for Project.
type Project struct {
CreatedAt time . Time `json:"created_at"`
CreatedBy string `json:"created_by"`
DefaultBranch string `json:"default_branch"`
Id string `json:"id"`
Name string `json:"name"`
Remote string `json:"remote"`
RepoPath string `json:"repo_path"`
}
// ProjectCreate defines model for ProjectCreate.
type ProjectCreate struct {
Name string `json:"name"`
RepoPath string `json:"repo_path"`
}
2026-10-14 22:35:53 -07:00
// ProtocolError defines model for ProtocolError.
type ProtocolError struct {
At time . Time `json:"at"`
// Raw The line as received
Raw string `json:"raw"`
Reason string `json:"reason"`
SessionId string `json:"session_id"`
// Size The line's full length in bytes.
Size int `json:"size"`
Vendor string `json:"vendor"`
}
// ProtocolErrors defines model for ProtocolErrors.
type ProtocolErrors struct {
// Counts Stream lines the adapter couldn't parse or didn't recognise since byre started, keyed by vendor.
Counts map [ string ] int `json:"counts"`
// Recent The most recent ones, newest first.
Recent [] ProtocolError `json:"recent"`
}
2026-10-15 16:33:17 -07:00
// Review An agent session on the vendor the task's agent doesn't use, reviewing one snapshot's change.
type Review struct {
2026-10-15 20:07:36 -07:00
// AgentSessionId The reviewer's session; empty when skipped.
2026-10-15 16:33:17 -07:00
AgentSessionId string `json:"agent_session_id"`
CreatedAt time . Time `json:"created_at"`
// Error failed: why.
2026-10-16 10:44:27 -07:00
Error string `json:"error"`
2026-10-19 09:14:21 -07:00
// FindingResponses How the task's agent answered each finding with respond_to_finding, keyed by its index in result.findings; its latest answer wins.
FindingResponses map [ string ] FindingResponse `json:"finding_responses"`
2026-10-16 10:44:27 -07:00
// FindingStates How the human addressed each finding, keyed by its index in result.findings; a finding not listed is open.
FindingStates map [ string ] FindingState `json:"finding_states"`
FinishedAt * time . Time `json:"finished_at,omitempty"`
Id string `json:"id"`
2026-10-15 20:07:36 -07:00
// Model Empty when skipped.
Model string `json:"model"`
2026-10-15 16:33:17 -07:00
// Result done: the reviewer's submit_review arguments: summary (Markdown) and findings, each with severity, category, title, detail, path and line.
Result * map [ string ] interface {} `json:"result,omitempty"`
SnapshotN int `json:"snapshot_n"`
2026-10-15 20:07:36 -07:00
// State skipped: the snapshot's step changed no files, so no reviewer ran.
State ReviewState `json:"state"`
TaskId string `json:"task_id"`
// Vendor Empty when skipped.
Vendor string `json:"vendor"`
2026-10-15 16:33:17 -07:00
}
2026-10-15 20:07:36 -07:00
// ReviewState skipped: the snapshot's step changed no files, so no reviewer ran.
2026-10-15 16:33:17 -07:00
type ReviewState string
2026-10-18 22:56:33 -07:00
// ReviewModels defines model for ReviewModels.
type ReviewModels struct {
ReviewModel string `json:"review_model"`
SecondReviewModel string `json:"second_review_model"`
}
2026-10-13 22:30:39 -07:00
// SessionCreate defines model for SessionCreate.
type SessionCreate struct {
2026-10-14 20:07:26 -07:00
// Images Blob ids from uploadBlob, sent to the agent as images alongside the prompt.
Images * [] string `json:"images,omitempty"`
Model * string `json:"model,omitempty"`
Prompt string `json:"prompt"`
2026-10-13 22:30:39 -07:00
}
2026-10-14 22:52:02 -07:00
// Snapshot defines model for Snapshot.
type Snapshot struct {
AgentSessionId string `json:"agent_session_id"`
// CommitSha A commit of tree_sha whose parent is the worktree's HEAD when it was taken.
CommitSha string `json:"commit_sha"`
CreatedAt time . Time `json:"created_at"`
// EventSeq The task's latest event when the snapshot was started: the tree holds at least the work up to it.
EventSeq int64 `json:"event_seq"`
Id string `json:"id"`
// N Position in the task's snapshots, from 1; the ref is refs/byre/tasks/{task_id}/snap/{n}.
2026-10-15 11:36:51 -07:00
N int `json:"n"`
TaskId string `json:"task_id"`
TreeSha string `json:"tree_sha"`
2026-10-18 15:06:06 -07:00
// Trigger turn_end: after byre's end-of-turn commit. requested: a task's agent or the lead asked for it with take_snapshot. answer: just before answers from the human were handed to the agent. message (the agent wrote text after one or more tool calls), tool_call, ask_human and timer appear only on snapshots taken by earlier builds.
2026-10-14 22:52:02 -07:00
Trigger SnapshotTrigger `json:"trigger"`
}
2026-10-18 15:06:06 -07:00
// SnapshotTrigger turn_end: after byre's end-of-turn commit. requested: a task's agent or the lead asked for it with take_snapshot. answer: just before answers from the human were handed to the agent. message (the agent wrote text after one or more tool calls), tool_call, ask_human and timer appear only on snapshots taken by earlier builds.
2026-10-14 22:52:02 -07:00
type SnapshotTrigger string
2026-10-15 21:17:58 -07:00
// Stage defines model for Stage.
type Stage struct {
2026-10-15 22:53:54 -07:00
// After The stages whose outputs this stage gets, by name; it starts once all of them have finished. Absent means the previous stage in the list (for the first stage, none); empty means it starts from the brief.
After * [] string `json:"after,omitempty"`
2026-10-18 08:48:57 -07:00
// Agents Runs the stage as a team: several agents in the stage's one task and worktree, each on its own model, sharing a board. The first agent finishes the stage.
Agents * [] TeamMember `json:"agents,omitempty"`
2026-10-15 22:53:54 -07:00
// Base Where the stage's task branches from. parent (the default): the commit its one after stage finished at, or for a stage with none, where the workflow was started from. main: the project's default branch. Refused on a stage with more than one after stage, which always branches from the default branch.
Base * StageBase `json:"base,omitempty"`
2026-10-18 16:05:50 -07:00
// Model The stage agent's model, which also picks its vendor: gpt-* models run on Codex, gemini-* models on Antigravity, every other model on Claude Code. Required without agents, refused with them.
2026-10-18 08:48:57 -07:00
Model string `json:"model,omitempty"`
2026-10-15 21:17:58 -07:00
// Name One line of 1 to 100 characters, unique within the workflow.
Name string `json:"name"`
2026-10-18 08:48:57 -07:00
// Prompt The stage agent's instructions; with agents, the instructions every agent of the team gets before its own.
2026-10-15 21:17:58 -07:00
Prompt string `json:"prompt"`
}
2026-10-15 22:53:54 -07:00
// StageBase Where the stage's task branches from. parent (the default): the commit its one after stage finished at, or for a stage with none, where the workflow was started from. main: the project's default branch. Refused on a stage with more than one after stage, which always branches from the default branch.
type StageBase string
2026-10-16 11:01:53 -07:00
// StageAttempt defines model for StageAttempt.
type StageAttempt struct {
// Commit With output: the commit the stage finished at.
Commit * string `json:"commit,omitempty"`
// DiscardedBy discarded and cleaned_up: who discarded it; byre for the cleanup.
DiscardedBy * string `json:"discarded_by,omitempty"`
// Discarding Whether a Discard was started and the task isn't closed yet.
Discarding bool `json:"discarding"`
// ForkedFrom The task this attempt was forked from; absent for the stage's first attempt.
ForkedFrom * string `json:"forked_from,omitempty"`
// Inputs The attempts whose outputs it started from, one per after stage; a fork has its source's.
Inputs [] StageInput `json:"inputs"`
// Output The finish_stage output the stages after it get; absent until it finishes.
Output * string `json:"output,omitempty"`
// State running: its agent is mid-turn. idle: active, and finish_stage hasn't taken. finished: active, its output recorded. merged. discarded: discarded before finishing. cleaned_up: discarded after finishing, as byre does to the run's other tasks when the final stage finishes.
State StageAttemptState `json:"state"`
TaskId string `json:"task_id"`
Title string `json:"title"`
}
// StageAttemptState running: its agent is mid-turn. idle: active, and finish_stage hasn't taken. finished: active, its output recorded. merged. discarded: discarded before finishing. cleaned_up: discarded after finishing, as byre does to the run's other tasks when the final stage finishes.
type StageAttemptState string
// StageInput defines model for StageInput.
type StageInput struct {
Stage string `json:"stage"`
TaskId string `json:"task_id"`
}
2026-10-13 22:19:20 -07:00
// Status defines model for Status.
type Status struct {
2026-10-14 22:35:53 -07:00
ActiveTasks int `json:"active_tasks"`
// AgentProcesses Every agent process byre is tracking, idle sessions included.
AgentProcesses [] AgentProcess `json:"agent_processes"`
2026-10-17 15:32:35 -07:00
2026-10-18 09:16:31 -07:00
// Clients Each running app that holds its /api/clients/connect WebSocket, oldest connection first.
2026-10-17 15:32:35 -07:00
Clients [] ConnectedClient `json:"clients"`
DbBytes int64 `json:"db_bytes"`
LastEventSeq int64 `json:"last_event_seq"`
2026-10-13 22:30:39 -07:00
// LiveAgents Agent processes currently running.
2026-10-14 22:35:53 -07:00
LiveAgents int `json:"live_agents"`
Projects int `json:"projects"`
ProtocolErrors ProtocolErrors `json:"protocol_errors"`
2026-10-14 21:06:30 -07:00
2026-10-14 09:40:12 -07:00
// RateLimits The latest rate-limit status each vendor reported, keyed by vendor.
2026-10-14 21:06:30 -07:00
RateLimits map [ string ] map [ string ] interface {} `json:"rate_limits"`
// RunningTurns Turns running now, oldest session first.
RunningTurns [] TurnRef `json:"running_turns"`
SseClients int `json:"sse_clients"`
StartedAt time . Time `json:"started_at"`
2026-10-14 22:35:53 -07:00
// StuckAfterSeconds How long a running turn may go without a stream event before it counts as stuck.
StuckAfterSeconds int `json:"stuck_after_seconds"`
// Zombies Sessions marked running with no live process, and agent processes byre has no session for.
Zombies [] Zombie `json:"zombies"`
2026-10-13 22:19:20 -07:00
}
2026-10-16 11:08:57 -07:00
// SummaryRead defines model for SummaryRead.
type SummaryRead struct {
// Seq The seq of the turn.ended event whose summary was shown.
Seq int64 `json:"seq"`
}
2026-10-13 22:19:20 -07:00
// Task defines model for Task.
type Task struct {
2026-10-14 19:35:34 -07:00
BaseRef string `json:"base_ref"`
Branch string `json:"branch"`
// ClosedAt When the task was merged or discarded.
2026-10-15 13:30:09 -07:00
ClosedAt * time . Time `json:"closed_at,omitempty"`
// Color Index into the UI's task palette, assigned at creation: a colour no active task holds, the one given out longest ago.
Color int `json:"color"`
CreatedAt time . Time `json:"created_at"`
CreatedBy string `json:"created_by"`
2026-10-15 11:36:51 -07:00
2026-10-16 10:08:08 -07:00
// Discarding Whether a Discard was started and the task isn't closed yet: its summary turn is waiting for the running turn, running, or done and the task is being removed.
Discarding bool `json:"discarding"`
2026-10-15 11:36:51 -07:00
// ForkedAt With forked_from: the n of the snapshot it was forked at.
ForkedAt * int `json:"forked_at,omitempty"`
// ForkedFrom The task this one was forked from; absent for other tasks.
ForkedFrom * string `json:"forked_from,omitempty"`
Id string `json:"id"`
2026-10-14 19:35:34 -07:00
2026-10-16 22:34:14 -07:00
// MergeAfterReview Whether a Merge with after_review is waiting for the running review of the latest snapshot to finish.
MergeAfterReview bool `json:"merge_after_review"`
2026-10-14 19:35:34 -07:00
// MergeCommit merged: the squash commit on the default branch; empty when there was nothing to merge.
2026-10-14 21:21:54 -07:00
MergeCommit * string `json:"merge_commit,omitempty"`
2026-10-15 12:11:35 -07:00
// MergeQueuedAt When Merge was requested while another task in the project was merging; absent once the merge starts or when none is held.
MergeQueuedAt * time . Time `json:"merge_queued_at,omitempty"`
2026-10-14 21:21:54 -07:00
// MergeTitle The title of the squash commit Merge makes: the task title until the agent sets another with set_merge_title.
2026-10-15 11:52:13 -07:00
MergeTitle string `json:"merge_title"`
2026-10-16 12:46:28 -07:00
// Merging Whether a Merge was started and hasn't finished: its turn is running, or the turn ended and byre is squashing, pushing and closing the task.
2026-10-16 10:08:08 -07:00
Merging bool `json:"merging"`
2026-10-16 10:36:38 -07:00
// MergingIntoParent Whether a merge of this subtask into its parent was requested and the parent hasn't merged it yet.
MergingIntoParent bool `json:"merging_into_parent"`
// ParentTaskId The task whose agent created this one as its subtask; absent for other tasks.
ParentTaskId * string `json:"parent_task_id,omitempty"`
2026-10-15 13:15:49 -07:00
// PortBase The first of the task's block of ports (port_base to port_base+9), passed to its agent and terminal as PORT.
2026-10-16 08:37:24 -07:00
PortBase int `json:"port_base"`
ProjectId string `json:"project_id"`
2026-10-16 11:15:32 -07:00
// State What the task is doing, kept by the store in the same transaction as every change to it (a task.state event carries each change): merged or discarded once closed, else discarding, merging, the state of its agent's latest live session when that isn't idle, reviewing while a review runs, review_pending between a turn's end and its snapshot's review starting or being skipped, idle, or no_agent.
State TaskState `json:"state"`
Status TaskStatus `json:"status"`
2026-10-16 11:08:57 -07:00
// SummarySeq The seq of the task's latest turn.ended event with summary: true; 0 when it has none.
SummarySeq int64 `json:"summary_seq"`
Title string `json:"title"`
2026-10-15 07:23:17 -07:00
// TodoItem The title of the TODO.md item the task was started from; absent for other tasks.
2026-10-15 21:17:58 -07:00
TodoItem * string `json:"todo_item,omitempty"`
// Workflow The name of the workflow the task froze at creation (getTaskWorkflow has its copy); absent for a task without one.
2026-10-15 22:53:54 -07:00
Workflow * string `json:"workflow,omitempty"`
// WorkflowRun With workflow: the id every task of one run of the workflow shares.
WorkflowRun * string `json:"workflow_run,omitempty"`
// WorkflowStage With workflow: the name of the stage this task runs.
WorkflowStage * string `json:"workflow_stage,omitempty"`
WorktreePath string `json:"worktree_path"`
2026-10-13 22:19:20 -07:00
}
2026-10-16 11:15:32 -07:00
// TaskState What the task is doing, kept by the store in the same transaction as every change to it (a task.state event carries each change): merged or discarded once closed, else discarding, merging, the state of its agent's latest live session when that isn't idle, reviewing while a review runs, review_pending between a turn's end and its snapshot's review starting or being skipped, idle, or no_agent.
type TaskState string
2026-10-13 22:19:20 -07:00
// TaskStatus defines model for Task.Status.
type TaskStatus string
2026-10-14 19:35:34 -07:00
// TaskChanges defines model for TaskChanges.
type TaskChanges struct {
2026-10-15 00:08:32 -07:00
// Base The commit or tree compared with: the merge-base of the task branch and the default branch, since, or the previous snapshot's tree.
2026-10-14 19:35:34 -07:00
Base string `json:"base"`
Files [] FileChange `json:"files"`
2026-10-15 00:08:32 -07:00
// Tree Tree of the worktree as if everything were staged, or the snapshot's tree.
2026-10-14 19:35:34 -07:00
Tree string `json:"tree"`
}
2026-10-13 22:19:20 -07:00
// TaskCreate defines model for TaskCreate.
type TaskCreate struct {
2026-10-17 08:10:55 -07:00
// Model The agent's model when prompt is given.
Model * string `json:"model,omitempty"`
// Prompt Starts the task's agent with this as its first message, in the same request. Not with workflow.
Prompt * string `json:"prompt,omitempty"`
Title string `json:"title"`
2026-10-16 11:00:09 -07:00
// Workflow The name of a saved workflow to run instead of creating one task with no agent: each stage with no after stages becomes its own task, titled "<title>: <stage>", with the title as the run's brief. The response is the first of those tasks.
Workflow * string `json:"workflow,omitempty"`
2026-10-13 22:19:20 -07:00
}
2026-10-15 09:40:30 -07:00
// TaskTab defines model for TaskTab.
type TaskTab string
2026-10-15 21:17:58 -07:00
// TaskWorkflow The workflow a task froze when it was created, as it was then.
type TaskWorkflow struct {
// Definition The WorkflowDefinition as YAML.
Definition string `json:"definition"`
Name string `json:"name"`
}
2026-10-18 08:48:57 -07:00
// TeamMember defines model for TeamMember.
type TeamMember struct {
// Model The agent's model, which also picks its vendor.
Model string `json:"model"`
// Name The agent's name in the team, one line of 1 to 100 characters, unique within the team.
Name string `json:"name"`
// Prompt This agent's own instructions: its role in the team.
Prompt string `json:"prompt"`
}
2026-10-15 12:06:50 -07:00
// TerminalSize defines model for TerminalSize.
type TerminalSize struct {
Cols int `json:"cols"`
Rows int `json:"rows"`
}
2026-10-15 07:23:17 -07:00
// Todo defines model for Todo.
type Todo struct {
// Exists Whether the default branch has a TODO.md at its root.
Exists bool `json:"exists"`
Items [] TodoItem `json:"items"`
}
// TodoItem defines model for TodoItem.
type TodoItem struct {
// Body The item's further lines
Body string `json:"body"`
// Section The text of the nearest heading above the item; empty when there is none.
Section string `json:"section"`
// Title The item's first line, without its list marker: the item's identity.
Title string `json:"title"`
}
// TodoStart defines model for TodoStart.
type TodoStart struct {
2026-10-16 09:32:07 -07:00
// Discuss Tell the agent the human wants to discuss the item in chat before anything is built.
2026-10-16 08:53:02 -07:00
Discuss * bool `json:"discuss,omitempty"`
Model * string `json:"model,omitempty"`
2026-10-15 07:23:17 -07:00
// Title The title of the item to start.
Title string `json:"title"`
}
2026-10-14 21:06:30 -07:00
// TurnRef defines model for TurnRef.
type TurnRef struct {
SessionId string `json:"session_id"`
TaskId string `json:"task_id"`
Vendor string `json:"vendor"`
}
2026-10-14 19:35:34 -07:00
// Unmerged defines model for Unmerged.
type Unmerged struct {
// Commits Commits on the task branch that aren't on the default branch.
Commits int `json:"commits"`
Deletions int `json:"deletions"`
// Files Files that differ from the merge base
Files int `json:"files"`
Insertions int `json:"insertions"`
// Uncommitted Paths with uncommitted changes in the worktree.
Uncommitted int `json:"uncommitted"`
}
2026-10-13 22:19:20 -07:00
// User defines model for User.
type User struct {
2026-10-18 00:57:51 -07:00
// DefaultModel The model the app starts new tasks on.
DefaultModel string `json:"default_model"`
DisplayName string `json:"display_name"`
GitEmail string `json:"git_email"`
GitName string `json:"git_name"`
Login string `json:"login"`
2026-10-14 21:25:01 -07:00
2026-10-18 15:06:06 -07:00
// NotificationPrefs Which new questions, finished turns, errors and rate limits notify this user in their open byre pages.
2026-10-14 21:25:01 -07:00
NotificationPrefs NotificationPrefs `json:"notification_prefs"`
2026-10-18 22:56:33 -07:00
// ReviewModel The model that reviews this user's tasks
ReviewModel string `json:"review_model"`
// SecondReviewModel The model that reviews this user's tasks when review_model wrote the work under review.
SecondReviewModel string `json:"second_review_model"`
2026-10-13 22:19:20 -07:00
}
// UserUpdate defines model for UserUpdate.
type UserUpdate struct {
GitEmail string `json:"git_email"`
GitName string `json:"git_name"`
}
2026-10-15 22:53:54 -07:00
// WorkflowDefinition A workflow's file, which holds everything but its name: its stages, each run as its own task once the stages it comes after have finished. Sent and returned as YAML.
2026-10-15 21:17:58 -07:00
type WorkflowDefinition struct {
Description string `json:"description,omitempty"`
Stages [] Stage `json:"stages"`
}
2026-10-16 11:01:53 -07:00
// WorkflowRun defines model for WorkflowRun.
type WorkflowRun struct {
Brief string `json:"brief"`
// Definition A workflow's file, which holds everything but its name: its stages, each run as its own task once the stages it comes after have finished. Sent and returned as YAML.
Definition WorkflowDefinition `json:"definition"`
// Finished Whether the final stage finished, which ends the run.
Finished bool `json:"finished"`
Name string `json:"name"`
Run string `json:"run"`
// Stages In the definition's order.
Stages [] WorkflowRunStage `json:"stages"`
Title string `json:"title"`
}
// WorkflowRunStage defines model for WorkflowRunStage.
type WorkflowRunStage struct {
// After The stages it comes after, with the definition's defaults applied.
After [] string `json:"after"`
// Attempts The tasks that ran the stage (the first, and forks of it), oldest first.
Attempts [] StageAttempt `json:"attempts"`
Name string `json:"name"`
// State waiting: no task yet. Otherwise the state of its latest finished attempt, or of its latest attempt when none has finished.
State WorkflowRunStageState `json:"state"`
// WaitingOn The after stages with no finished attempt yet.
WaitingOn [] string `json:"waiting_on"`
}
// WorkflowRunStageState waiting: no task yet. Otherwise the state of its latest finished attempt, or of its latest attempt when none has finished.
type WorkflowRunStageState string
2026-10-15 21:17:58 -07:00
// WorkflowSummary defines model for WorkflowSummary.
type WorkflowSummary struct {
Description string `json:"description"`
Name string `json:"name"`
}
2026-10-14 22:35:53 -07:00
// Zombie defines model for Zombie.
type Zombie struct {
Detail string `json:"detail"`
Kind ZombieKind `json:"kind"`
Pid * int `json:"pid,omitempty"`
SessionId * string `json:"session_id,omitempty"`
TaskId * string `json:"task_id,omitempty"`
}
// ZombieKind defines model for Zombie.Kind.
type ZombieKind string
2026-10-13 22:19:20 -07:00
// StreamEventsParams defines parameters for StreamEvents.
type StreamEventsParams struct {
2026-10-14 23:53:17 -07:00
After * int64 `form:"after,omitempty" json:"after,omitempty"`
TaskId * string `form:"task_id,omitempty" json:"task_id,omitempty"`
2026-10-15 09:40:30 -07:00
Lead * bool `form:"lead,omitempty" json:"lead,omitempty"`
2026-10-14 23:53:17 -07:00
LastEventID * int64 `json:"Last-Event-ID,omitempty"`
2026-10-13 22:19:20 -07:00
}
2026-10-14 07:02:56 -07:00
// ListInboxParams defines parameters for ListInbox.
type ListInboxParams struct {
2026-10-14 23:34:39 -07:00
ProjectId * string `form:"project_id,omitempty" json:"project_id,omitempty"`
TaskId * string `form:"task_id,omitempty" json:"task_id,omitempty"`
State * InboxState `form:"state,omitempty" json:"state,omitempty"`
2026-10-14 07:02:56 -07:00
}
2026-10-16 18:11:00 -07:00
// ListLeadEventsParams defines parameters for ListLeadEvents.
type ListLeadEventsParams struct {
Before * int64 `form:"before,omitempty" json:"before,omitempty"`
Turns * int `form:"turns,omitempty" json:"turns,omitempty"`
}
2026-10-14 19:35:34 -07:00
// GetTaskChangesParams defines parameters for GetTaskChanges.
type GetTaskChangesParams struct {
2026-10-15 00:08:32 -07:00
// Since A commit to compare with instead of the merge-base, such as a user.message event's head. Not allowed with snapshot.
2026-10-14 19:35:34 -07:00
Since * string `form:"since,omitempty" json:"since,omitempty"`
2026-10-15 00:08:32 -07:00
// Snapshot A snapshot's n: show the task as it was in that snapshot rather than the live worktree.
Snapshot * int `form:"snapshot,omitempty" json:"snapshot,omitempty"`
// Step With snapshot: compare with the previous snapshot (the snapshot commit's parent for the first one).
Step * bool `form:"step,omitempty" json:"step,omitempty"`
2026-10-14 19:35:34 -07:00
}
// GetTaskDiffParams defines parameters for GetTaskDiff.
type GetTaskDiffParams struct {
Base string `form:"base" json:"base"`
Tree string `form:"tree" json:"tree"`
Path string `form:"path" json:"path"`
OldPath * string `form:"old_path,omitempty" json:"old_path,omitempty"`
}
2026-10-15 07:31:53 -07:00
// GetTaskDirParams defines parameters for GetTaskDir.
type GetTaskDirParams struct {
// Path Slash-separated, relative to the worktree root; empty or absent for the root.
Path * string `form:"path,omitempty" json:"path,omitempty"`
}
2026-10-14 09:40:12 -07:00
// ListTaskEventsParams defines parameters for ListTaskEvents.
type ListTaskEventsParams struct {
After * int64 `form:"after,omitempty" json:"after,omitempty"`
Limit * int `form:"limit,omitempty" json:"limit,omitempty"`
}
2026-10-15 07:31:53 -07:00
// GetTaskFileParams defines parameters for GetTaskFile.
type GetTaskFileParams struct {
// Path Slash-separated, relative to the worktree root.
Path string `form:"path" json:"path"`
}
2026-10-15 07:27:17 -07:00
// GetTaskImageParams defines parameters for GetTaskImage.
type GetTaskImageParams struct {
Path string `form:"path" json:"path"`
}
2026-10-15 18:55:20 -07:00
// MergeTaskJSONBody defines parameters for MergeTask.
type MergeTaskJSONBody struct {
2026-10-16 22:34:14 -07:00
// AfterReview Merge once the running review of the latest snapshot finishes with no findings, instead of now.
AfterReview * bool `json:"after_review,omitempty"`
2026-10-16 10:36:38 -07:00
// MergeTitle The squash commit's title: one line, at most 72 characters. Required for target main.
MergeTitle * string `json:"merge_title,omitempty"`
// Target main (the default): squash onto the project's default branch. parent: merge into the parent task's branch; only for a subtask.
Target * MergeTaskJSONBodyTarget `json:"target,omitempty"`
2026-10-15 18:55:20 -07:00
}
2026-10-16 10:36:38 -07:00
// MergeTaskJSONBodyTarget defines parameters for MergeTask.
type MergeTaskJSONBodyTarget string
2026-10-15 12:06:50 -07:00
// GetTaskTerminalParams defines parameters for GetTaskTerminal.
type GetTaskTerminalParams struct {
Cols int `form:"cols" json:"cols"`
Rows int `form:"rows" json:"rows"`
}
2026-10-14 07:02:56 -07:00
// RespondInboxJSONRequestBody defines body for RespondInbox for application/json ContentType.
type RespondInboxJSONRequestBody = InboxRespond
2026-10-13 22:19:20 -07:00
// UpdateMeJSONRequestBody defines body for UpdateMe for application/json ContentType.
type UpdateMeJSONRequestBody = UserUpdate
2026-10-18 00:57:51 -07:00
// UpdateDefaultModelJSONRequestBody defines body for UpdateDefaultModel for application/json ContentType.
type UpdateDefaultModelJSONRequestBody = DefaultModel
2026-10-15 09:40:30 -07:00
// SetFocusJSONRequestBody defines body for SetFocus for application/json ContentType.
type SetFocusJSONRequestBody = Focus
// MessageLeadJSONRequestBody defines body for MessageLead for application/json ContentType.
type MessageLeadJSONRequestBody = MessageCreate
2026-10-14 21:25:01 -07:00
// UpdateNotificationPrefsJSONRequestBody defines body for UpdateNotificationPrefs for application/json ContentType.
type UpdateNotificationPrefsJSONRequestBody = NotificationPrefs
2026-10-15 09:59:13 -07:00
// SetPaneFocusJSONRequestBody defines body for SetPaneFocus for application/json ContentType.
type SetPaneFocusJSONRequestBody = PaneFocus
2026-10-18 22:56:33 -07:00
// UpdateReviewModelsJSONRequestBody defines body for UpdateReviewModels for application/json ContentType.
type UpdateReviewModelsJSONRequestBody = ReviewModels
2026-10-13 22:19:20 -07:00
// CreateProjectJSONRequestBody defines body for CreateProject for application/json ContentType.
type CreateProjectJSONRequestBody = ProjectCreate
// CreateTaskJSONRequestBody defines body for CreateTask for application/json ContentType.
type CreateTaskJSONRequestBody = TaskCreate
2026-10-15 07:23:17 -07:00
// StartTodoItemJSONRequestBody defines body for StartTodoItem for application/json ContentType.
type StartTodoItemJSONRequestBody = TodoStart
2026-10-16 10:44:27 -07:00
// SetFindingStateJSONRequestBody defines body for SetFindingState for application/json ContentType.
type SetFindingStateJSONRequestBody = FindingStateUpdate
2026-10-18 00:43:00 -07:00
// CompactSessionJSONRequestBody defines body for CompactSession for application/json ContentType.
type CompactSessionJSONRequestBody = CompactCreate
2026-10-13 22:30:39 -07:00
// SendMessageJSONRequestBody defines body for SendMessage for application/json ContentType.
type SendMessageJSONRequestBody = MessageCreate
2026-10-18 08:48:57 -07:00
// PostToBoardJSONRequestBody defines body for PostToBoard for application/json ContentType.
type PostToBoardJSONRequestBody = BoardPostCreate
2026-10-15 18:55:20 -07:00
// MergeTaskJSONRequestBody defines body for MergeTask for application/json ContentType.
type MergeTaskJSONRequestBody MergeTaskJSONBody
2026-10-13 22:30:39 -07:00
// CreateSessionJSONRequestBody defines body for CreateSession for application/json ContentType.
type CreateSessionJSONRequestBody = SessionCreate
2026-10-16 11:08:57 -07:00
// MarkSummaryReadJSONRequestBody defines body for MarkSummaryRead for application/json ContentType.
type MarkSummaryReadJSONRequestBody = SummaryRead
2026-10-13 22:19:20 -07:00
// ServerInterface represents all server handlers.
type ServerInterface interface {
2026-10-18 22:17:54 -07:00
// (POST /api/admin/permissions)
CheckPermissions ( w http . ResponseWriter , r * http . Request )
2026-10-13 22:19:20 -07:00
// (GET /api/admin/status)
GetStatus ( w http . ResponseWriter , r * http . Request )
2026-10-14 20:07:26 -07:00
// (POST /api/blobs)
UploadBlob ( w http . ResponseWriter , r * http . Request )
// (GET /api/blobs/{blobId})
GetBlob ( w http . ResponseWriter , r * http . Request , blobId string )
2026-10-17 23:45:31 -07:00
// (GET /api/clients/connect)
ConnectClient ( w http . ResponseWriter , r * http . Request )
// (GET /api/clients/transfers/{transferId})
GetClientTransfer ( w http . ResponseWriter , r * http . Request , transferId string )
2026-10-18 00:13:37 -07:00
// (PUT /api/clients/transfers/{transferId})
PutClientTransfer ( w http . ResponseWriter , r * http . Request , transferId string )
2026-10-13 22:19:20 -07:00
// (GET /api/events)
StreamEvents ( w http . ResponseWriter , r * http . Request , params StreamEventsParams )
2026-10-14 07:02:56 -07:00
// (GET /api/inbox)
ListInbox ( w http . ResponseWriter , r * http . Request , params ListInboxParams )
// (POST /api/inbox/responses)
RespondInbox ( w http . ResponseWriter , r * http . Request )
// (GET /api/inbox/{itemId})
GetInboxItem ( w http . ResponseWriter , r * http . Request , itemId string )
2026-10-13 22:19:20 -07:00
// (GET /api/me)
GetMe ( w http . ResponseWriter , r * http . Request )
// (PUT /api/me)
UpdateMe ( w http . ResponseWriter , r * http . Request )
2026-10-18 00:57:51 -07:00
// (PUT /api/me/default-model)
UpdateDefaultModel ( w http . ResponseWriter , r * http . Request )
2026-10-15 09:40:30 -07:00
// (GET /api/me/focus)
GetFocus ( w http . ResponseWriter , r * http . Request )
// (PUT /api/me/focus)
SetFocus ( w http . ResponseWriter , r * http . Request )
2026-10-16 18:11:00 -07:00
// (GET /api/me/lead/events)
ListLeadEvents ( w http . ResponseWriter , r * http . Request , params ListLeadEventsParams )
2026-10-15 09:40:30 -07:00
// (POST /api/me/lead/messages)
MessageLead ( w http . ResponseWriter , r * http . Request )
2026-10-16 10:50:29 -07:00
// (GET /api/me/lead/notes)
ListLeadNotes ( w http . ResponseWriter , r * http . Request )
// (DELETE /api/me/lead/notes/{noteId})
DeleteLeadNote ( w http . ResponseWriter , r * http . Request , noteId string )
2026-10-15 09:40:30 -07:00
// (GET /api/me/lead/sessions)
ListLeadSessions ( w http . ResponseWriter , r * http . Request )
2026-10-14 21:25:01 -07:00
// (PUT /api/me/notifications)
UpdateNotificationPrefs ( w http . ResponseWriter , r * http . Request )
2026-10-15 09:59:13 -07:00
// (PUT /api/me/pane-focus)
SetPaneFocus ( w http . ResponseWriter , r * http . Request )
2026-10-18 22:56:33 -07:00
// (PUT /api/me/review-models)
UpdateReviewModels ( w http . ResponseWriter , r * http . Request )
2026-10-16 11:08:57 -07:00
// (GET /api/me/summary-reads)
GetSummaryReads ( w http . ResponseWriter , r * http . Request )
2026-10-13 22:19:20 -07:00
// (GET /api/projects)
ListProjects ( w http . ResponseWriter , r * http . Request )
// (POST /api/projects)
CreateProject ( w http . ResponseWriter , r * http . Request )
// (GET /api/projects/{projectId})
GetProject ( w http . ResponseWriter , r * http . Request , projectId string )
// (GET /api/projects/{projectId}/tasks)
ListTasks ( w http . ResponseWriter , r * http . Request , projectId string )
// (POST /api/projects/{projectId}/tasks)
CreateTask ( w http . ResponseWriter , r * http . Request , projectId string )
2026-10-15 07:23:17 -07:00
// (GET /api/projects/{projectId}/todo)
GetTodo ( w http . ResponseWriter , r * http . Request , projectId string )
// (POST /api/projects/{projectId}/todo/tasks)
StartTodoItem ( w http . ResponseWriter , r * http . Request , projectId string )
2026-10-16 10:44:27 -07:00
// (PUT /api/reviews/{reviewId}/findings/{index})
SetFindingState ( w http . ResponseWriter , r * http . Request , reviewId string , index int )
2026-10-13 22:30:39 -07:00
// (GET /api/sessions/{sessionId})
GetSession ( w http . ResponseWriter , r * http . Request , sessionId string )
2026-10-14 19:35:34 -07:00
// (POST /api/sessions/{sessionId}/compact)
CompactSession ( w http . ResponseWriter , r * http . Request , sessionId string )
2026-10-13 22:30:39 -07:00
// (POST /api/sessions/{sessionId}/interrupt)
InterruptSession ( w http . ResponseWriter , r * http . Request , sessionId string )
// (POST /api/sessions/{sessionId}/messages)
SendMessage ( w http . ResponseWriter , r * http . Request , sessionId string )
2026-10-13 22:19:20 -07:00
// (GET /api/tasks/{taskId})
GetTask ( w http . ResponseWriter , r * http . Request , taskId string )
2026-10-18 08:48:57 -07:00
// (POST /api/tasks/{taskId}/board)
PostToBoard ( w http . ResponseWriter , r * http . Request , taskId string )
2026-10-14 19:35:34 -07:00
// (GET /api/tasks/{taskId}/changes)
GetTaskChanges ( w http . ResponseWriter , r * http . Request , taskId string , params GetTaskChangesParams )
2026-10-15 07:15:51 -07:00
// (GET /api/tasks/{taskId}/co-authors)
GetCoAuthors ( w http . ResponseWriter , r * http . Request , taskId string )
2026-10-14 19:35:34 -07:00
// (GET /api/tasks/{taskId}/diff)
GetTaskDiff ( w http . ResponseWriter , r * http . Request , taskId string , params GetTaskDiffParams )
2026-10-15 07:31:53 -07:00
// (GET /api/tasks/{taskId}/dir)
GetTaskDir ( w http . ResponseWriter , r * http . Request , taskId string , params GetTaskDirParams )
2026-10-14 19:35:34 -07:00
// (POST /api/tasks/{taskId}/discard)
DiscardTask ( w http . ResponseWriter , r * http . Request , taskId string )
2026-10-13 22:30:39 -07:00
2026-10-14 09:40:12 -07:00
// (GET /api/tasks/{taskId}/events)
ListTaskEvents ( w http . ResponseWriter , r * http . Request , taskId string , params ListTaskEventsParams )
2026-10-15 07:31:53 -07:00
// (GET /api/tasks/{taskId}/file)
GetTaskFile ( w http . ResponseWriter , r * http . Request , taskId string , params GetTaskFileParams )
2026-10-15 07:27:17 -07:00
// (GET /api/tasks/{taskId}/image)
GetTaskImage ( w http . ResponseWriter , r * http . Request , taskId string , params GetTaskImageParams )
2026-10-14 19:35:34 -07:00
// (POST /api/tasks/{taskId}/merge)
MergeTask ( w http . ResponseWriter , r * http . Request , taskId string )
2026-10-16 22:34:14 -07:00
// (DELETE /api/tasks/{taskId}/merge-after-review)
CancelMergeAfterReview ( w http . ResponseWriter , r * http . Request , taskId string )
2026-10-14 21:01:38 -07:00
// (POST /api/tasks/{taskId}/merge-in)
MergeIn ( w http . ResponseWriter , r * http . Request , taskId string )
2026-10-15 13:15:49 -07:00
// (GET /api/tasks/{taskId}/previews)
ListPreviews ( w http . ResponseWriter , r * http . Request , taskId string )
2026-10-17 15:45:27 -07:00
// (DELETE /api/tasks/{taskId}/queue/{inputId})
WithdrawMessage ( w http . ResponseWriter , r * http . Request , taskId string , inputId int64 )
2026-10-15 16:33:17 -07:00
// (GET /api/tasks/{taskId}/reviews)
ListReviews ( w http . ResponseWriter , r * http . Request , taskId string )
2026-10-13 22:30:39 -07:00
// (GET /api/tasks/{taskId}/sessions)
ListSessions ( w http . ResponseWriter , r * http . Request , taskId string )
// (POST /api/tasks/{taskId}/sessions)
CreateSession ( w http . ResponseWriter , r * http . Request , taskId string )
2026-10-14 19:35:34 -07:00
2026-10-14 22:52:02 -07:00
// (GET /api/tasks/{taskId}/snapshots)
ListSnapshots ( w http . ResponseWriter , r * http . Request , taskId string )
2026-10-15 11:36:51 -07:00
// (POST /api/tasks/{taskId}/snapshots/{n}/fork)
ForkSnapshot ( w http . ResponseWriter , r * http . Request , taskId string , n int )
2026-10-16 11:08:57 -07:00
// (PUT /api/tasks/{taskId}/summary-read)
MarkSummaryRead ( w http . ResponseWriter , r * http . Request , taskId string )
2026-10-15 12:06:50 -07:00
// (GET /api/tasks/{taskId}/terminal)
GetTaskTerminal ( w http . ResponseWriter , r * http . Request , taskId string , params GetTaskTerminalParams )
2026-10-14 19:35:34 -07:00
// (GET /api/tasks/{taskId}/unmerged)
GetUnmerged ( w http . ResponseWriter , r * http . Request , taskId string )
2026-10-15 21:17:58 -07:00
// (GET /api/tasks/{taskId}/workflow)
GetTaskWorkflow ( w http . ResponseWriter , r * http . Request , taskId string )
2026-10-16 11:01:53 -07:00
// (GET /api/tasks/{taskId}/workflow/run)
GetWorkflowRun ( w http . ResponseWriter , r * http . Request , taskId string )
2026-10-15 21:17:58 -07:00
// (GET /api/workflows)
ListWorkflows ( w http . ResponseWriter , r * http . Request )
// (DELETE /api/workflows/{name})
DeleteWorkflow ( w http . ResponseWriter , r * http . Request , name string )
// (GET /api/workflows/{name})
GetWorkflow ( w http . ResponseWriter , r * http . Request , name string )
// (PUT /api/workflows/{name})
PutWorkflow ( w http . ResponseWriter , r * http . Request , name string )
2026-10-13 22:19:20 -07:00
}
// ServerInterfaceWrapper converts contexts to parameters.
type ServerInterfaceWrapper struct {
Handler ServerInterface
HandlerMiddlewares [] MiddlewareFunc
ErrorHandlerFunc func ( w http . ResponseWriter , r * http . Request , err error )
}
type MiddlewareFunc func ( http . Handler ) http . Handler
2026-10-18 22:17:54 -07:00
// CheckPermissions operation middleware
func ( siw * ServerInterfaceWrapper ) CheckPermissions ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . CheckPermissions ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-13 22:19:20 -07:00
// GetStatus operation middleware
func ( siw * ServerInterfaceWrapper ) GetStatus ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetStatus ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-14 20:07:26 -07:00
// UploadBlob operation middleware
func ( siw * ServerInterfaceWrapper ) UploadBlob ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . UploadBlob ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// GetBlob operation middleware
func ( siw * ServerInterfaceWrapper ) GetBlob ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "blobId" -------------
var blobId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "blobId" , r . PathValue ( "blobId" ), & blobId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "blobId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetBlob ( w , r , blobId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-17 23:45:31 -07:00
// ConnectClient operation middleware
func ( siw * ServerInterfaceWrapper ) ConnectClient ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . ConnectClient ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// GetClientTransfer operation middleware
func ( siw * ServerInterfaceWrapper ) GetClientTransfer ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "transferId" -------------
var transferId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "transferId" , r . PathValue ( "transferId" ), & transferId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "transferId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetClientTransfer ( w , r , transferId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-18 00:13:37 -07:00
// PutClientTransfer operation middleware
func ( siw * ServerInterfaceWrapper ) PutClientTransfer ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "transferId" -------------
var transferId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "transferId" , r . PathValue ( "transferId" ), & transferId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "transferId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . PutClientTransfer ( w , r , transferId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-13 22:19:20 -07:00
// StreamEvents operation middleware
func ( siw * ServerInterfaceWrapper ) StreamEvents ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// Parameter object where we will unmarshal all parameters from the context
var params StreamEventsParams
// ------------- Optional query parameter "after" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , false , "after" , r . URL . Query (), & params . After , runtime . BindQueryParameterOptions { Type : "integer" , Format : "int64" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "after" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "after" , Err : err })
}
return
}
2026-10-14 23:53:17 -07:00
// ------------- Optional query parameter "task_id" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , false , "task_id" , r . URL . Query (), & params . TaskId , runtime . BindQueryParameterOptions { Type : "string" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "task_id" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "task_id" , Err : err })
}
return
}
2026-10-15 09:40:30 -07:00
// ------------- Optional query parameter "lead" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , false , "lead" , r . URL . Query (), & params . Lead , runtime . BindQueryParameterOptions { Type : "boolean" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "lead" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "lead" , Err : err })
}
return
}
2026-10-13 22:19:20 -07:00
headers := r . Header
// ------------- Optional header parameter "Last-Event-ID" -------------
if valueList , found := headers [ http . CanonicalHeaderKey ( "Last-Event-ID" )]; found {
var LastEventID int64
n := len ( valueList )
if n != 1 {
siw . ErrorHandlerFunc ( w , r , & TooManyValuesForParamError { ParamName : "Last-Event-ID" , Count : n })
return
}
err = runtime . BindStyledParameterWithOptions ( "simple" , "Last-Event-ID" , valueList [ 0 ], & LastEventID , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationHeader , Explode : false , Required : false , Type : "integer" , Format : "int64" })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "Last-Event-ID" , Err : err })
return
}
params . LastEventID = & LastEventID
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . StreamEvents ( w , r , params )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-14 07:02:56 -07:00
// ListInbox operation middleware
func ( siw * ServerInterfaceWrapper ) ListInbox ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// Parameter object where we will unmarshal all parameters from the context
var params ListInboxParams
// ------------- Optional query parameter "project_id" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , false , "project_id" , r . URL . Query (), & params . ProjectId , runtime . BindQueryParameterOptions { Type : "string" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "project_id" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "project_id" , Err : err })
}
return
}
// ------------- Optional query parameter "task_id" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , false , "task_id" , r . URL . Query (), & params . TaskId , runtime . BindQueryParameterOptions { Type : "string" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "task_id" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "task_id" , Err : err })
}
return
}
// ------------- Optional query parameter "state" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , false , "state" , r . URL . Query (), & params . State , runtime . BindQueryParameterOptions { Type : "string" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "state" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "state" , Err : err })
}
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . ListInbox ( w , r , params )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// RespondInbox operation middleware
func ( siw * ServerInterfaceWrapper ) RespondInbox ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . RespondInbox ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// GetInboxItem operation middleware
func ( siw * ServerInterfaceWrapper ) GetInboxItem ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "itemId" -------------
var itemId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "itemId" , r . PathValue ( "itemId" ), & itemId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "itemId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetInboxItem ( w , r , itemId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-13 22:19:20 -07:00
// GetMe operation middleware
func ( siw * ServerInterfaceWrapper ) GetMe ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetMe ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// UpdateMe operation middleware
func ( siw * ServerInterfaceWrapper ) UpdateMe ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . UpdateMe ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-18 00:57:51 -07:00
// UpdateDefaultModel operation middleware
func ( siw * ServerInterfaceWrapper ) UpdateDefaultModel ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . UpdateDefaultModel ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-15 09:40:30 -07:00
// GetFocus operation middleware
func ( siw * ServerInterfaceWrapper ) GetFocus ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetFocus ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// SetFocus operation middleware
func ( siw * ServerInterfaceWrapper ) SetFocus ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . SetFocus ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-16 18:11:00 -07:00
// ListLeadEvents operation middleware
func ( siw * ServerInterfaceWrapper ) ListLeadEvents ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// Parameter object where we will unmarshal all parameters from the context
var params ListLeadEventsParams
// ------------- Optional query parameter "before" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , false , "before" , r . URL . Query (), & params . Before , runtime . BindQueryParameterOptions { Type : "integer" , Format : "int64" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "before" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "before" , Err : err })
}
return
}
// ------------- Optional query parameter "turns" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , false , "turns" , r . URL . Query (), & params . Turns , runtime . BindQueryParameterOptions { Type : "integer" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "turns" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "turns" , Err : err })
}
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . ListLeadEvents ( w , r , params )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-15 09:40:30 -07:00
// MessageLead operation middleware
func ( siw * ServerInterfaceWrapper ) MessageLead ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . MessageLead ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-16 10:50:29 -07:00
// ListLeadNotes operation middleware
func ( siw * ServerInterfaceWrapper ) ListLeadNotes ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . ListLeadNotes ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// DeleteLeadNote operation middleware
func ( siw * ServerInterfaceWrapper ) DeleteLeadNote ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "noteId" -------------
var noteId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "noteId" , r . PathValue ( "noteId" ), & noteId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "noteId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . DeleteLeadNote ( w , r , noteId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-15 09:40:30 -07:00
// ListLeadSessions operation middleware
func ( siw * ServerInterfaceWrapper ) ListLeadSessions ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . ListLeadSessions ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-14 21:25:01 -07:00
// UpdateNotificationPrefs operation middleware
func ( siw * ServerInterfaceWrapper ) UpdateNotificationPrefs ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . UpdateNotificationPrefs ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-15 09:59:13 -07:00
// SetPaneFocus operation middleware
func ( siw * ServerInterfaceWrapper ) SetPaneFocus ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . SetPaneFocus ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-18 22:56:33 -07:00
// UpdateReviewModels operation middleware
func ( siw * ServerInterfaceWrapper ) UpdateReviewModels ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . UpdateReviewModels ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-16 11:08:57 -07:00
// GetSummaryReads operation middleware
func ( siw * ServerInterfaceWrapper ) GetSummaryReads ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetSummaryReads ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-13 22:19:20 -07:00
// ListProjects operation middleware
func ( siw * ServerInterfaceWrapper ) ListProjects ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . ListProjects ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// CreateProject operation middleware
func ( siw * ServerInterfaceWrapper ) CreateProject ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . CreateProject ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// GetProject operation middleware
func ( siw * ServerInterfaceWrapper ) GetProject ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "projectId" -------------
var projectId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "projectId" , r . PathValue ( "projectId" ), & projectId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "projectId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetProject ( w , r , projectId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// ListTasks operation middleware
func ( siw * ServerInterfaceWrapper ) ListTasks ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "projectId" -------------
var projectId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "projectId" , r . PathValue ( "projectId" ), & projectId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "projectId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . ListTasks ( w , r , projectId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// CreateTask operation middleware
func ( siw * ServerInterfaceWrapper ) CreateTask ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "projectId" -------------
var projectId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "projectId" , r . PathValue ( "projectId" ), & projectId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "projectId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . CreateTask ( w , r , projectId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-15 07:23:17 -07:00
// GetTodo operation middleware
func ( siw * ServerInterfaceWrapper ) GetTodo ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "projectId" -------------
var projectId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "projectId" , r . PathValue ( "projectId" ), & projectId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "projectId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetTodo ( w , r , projectId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// StartTodoItem operation middleware
func ( siw * ServerInterfaceWrapper ) StartTodoItem ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "projectId" -------------
var projectId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "projectId" , r . PathValue ( "projectId" ), & projectId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "projectId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . StartTodoItem ( w , r , projectId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-16 10:44:27 -07:00
// SetFindingState operation middleware
func ( siw * ServerInterfaceWrapper ) SetFindingState ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "reviewId" -------------
var reviewId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "reviewId" , r . PathValue ( "reviewId" ), & reviewId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "reviewId" , Err : err })
return
}
// ------------- Path parameter "index" -------------
var index int
err = runtime . BindStyledParameterWithOptions ( "simple" , "index" , r . PathValue ( "index" ), & index , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "integer" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "index" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . SetFindingState ( w , r , reviewId , index )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-13 22:30:39 -07:00
// GetSession operation middleware
func ( siw * ServerInterfaceWrapper ) GetSession ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "sessionId" -------------
var sessionId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "sessionId" , r . PathValue ( "sessionId" ), & sessionId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "sessionId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetSession ( w , r , sessionId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-14 19:35:34 -07:00
// CompactSession operation middleware
func ( siw * ServerInterfaceWrapper ) CompactSession ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "sessionId" -------------
var sessionId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "sessionId" , r . PathValue ( "sessionId" ), & sessionId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "sessionId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . CompactSession ( w , r , sessionId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-13 22:30:39 -07:00
// InterruptSession operation middleware
func ( siw * ServerInterfaceWrapper ) InterruptSession ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "sessionId" -------------
var sessionId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "sessionId" , r . PathValue ( "sessionId" ), & sessionId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "sessionId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . InterruptSession ( w , r , sessionId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// SendMessage operation middleware
func ( siw * ServerInterfaceWrapper ) SendMessage ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "sessionId" -------------
var sessionId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "sessionId" , r . PathValue ( "sessionId" ), & sessionId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "sessionId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . SendMessage ( w , r , sessionId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-13 22:19:20 -07:00
// GetTask operation middleware
func ( siw * ServerInterfaceWrapper ) GetTask ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetTask ( w , r , taskId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-18 08:48:57 -07:00
// PostToBoard operation middleware
func ( siw * ServerInterfaceWrapper ) PostToBoard ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . PostToBoard ( w , r , taskId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-14 19:35:34 -07:00
// GetTaskChanges operation middleware
func ( siw * ServerInterfaceWrapper ) GetTaskChanges ( w http . ResponseWriter , r * http . Request ) {
2026-10-13 22:19:20 -07:00
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
2026-10-14 19:35:34 -07:00
// Parameter object where we will unmarshal all parameters from the context
var params GetTaskChangesParams
// ------------- Optional query parameter "since" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , false , "since" , r . URL . Query (), & params . Since , runtime . BindQueryParameterOptions { Type : "string" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "since" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "since" , Err : err })
}
return
}
2026-10-15 00:08:32 -07:00
// ------------- Optional query parameter "snapshot" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , false , "snapshot" , r . URL . Query (), & params . Snapshot , runtime . BindQueryParameterOptions { Type : "integer" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "snapshot" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "snapshot" , Err : err })
}
return
}
// ------------- Optional query parameter "step" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , false , "step" , r . URL . Query (), & params . Step , runtime . BindQueryParameterOptions { Type : "boolean" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "step" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "step" , Err : err })
}
return
}
2026-10-13 22:19:20 -07:00
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
2026-10-14 19:35:34 -07:00
siw . Handler . GetTaskChanges ( w , r , taskId , params )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-15 07:15:51 -07:00
// GetCoAuthors operation middleware
func ( siw * ServerInterfaceWrapper ) GetCoAuthors ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetCoAuthors ( w , r , taskId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-14 19:35:34 -07:00
// GetTaskDiff operation middleware
func ( siw * ServerInterfaceWrapper ) GetTaskDiff ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
// Parameter object where we will unmarshal all parameters from the context
var params GetTaskDiffParams
// ------------- Required query parameter "base" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , true , "base" , r . URL . Query (), & params . Base , runtime . BindQueryParameterOptions { Type : "string" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "base" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "base" , Err : err })
}
return
}
// ------------- Required query parameter "tree" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , true , "tree" , r . URL . Query (), & params . Tree , runtime . BindQueryParameterOptions { Type : "string" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "tree" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "tree" , Err : err })
}
return
}
// ------------- Required query parameter "path" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , true , "path" , r . URL . Query (), & params . Path , runtime . BindQueryParameterOptions { Type : "string" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "path" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "path" , Err : err })
}
return
}
// ------------- Optional query parameter "old_path" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , false , "old_path" , r . URL . Query (), & params . OldPath , runtime . BindQueryParameterOptions { Type : "string" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "old_path" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "old_path" , Err : err })
}
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetTaskDiff ( w , r , taskId , params )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-15 07:31:53 -07:00
// GetTaskDir operation middleware
func ( siw * ServerInterfaceWrapper ) GetTaskDir ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
// Parameter object where we will unmarshal all parameters from the context
var params GetTaskDirParams
// ------------- Optional query parameter "path" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , false , "path" , r . URL . Query (), & params . Path , runtime . BindQueryParameterOptions { Type : "string" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "path" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "path" , Err : err })
}
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetTaskDir ( w , r , taskId , params )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-14 19:35:34 -07:00
// DiscardTask operation middleware
func ( siw * ServerInterfaceWrapper ) DiscardTask ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . DiscardTask ( w , r , taskId )
2026-10-13 22:19:20 -07:00
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-14 09:40:12 -07:00
// ListTaskEvents operation middleware
func ( siw * ServerInterfaceWrapper ) ListTaskEvents ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
// Parameter object where we will unmarshal all parameters from the context
var params ListTaskEventsParams
// ------------- Optional query parameter "after" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , false , "after" , r . URL . Query (), & params . After , runtime . BindQueryParameterOptions { Type : "integer" , Format : "int64" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "after" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "after" , Err : err })
}
return
}
// ------------- Optional query parameter "limit" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , false , "limit" , r . URL . Query (), & params . Limit , runtime . BindQueryParameterOptions { Type : "integer" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "limit" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "limit" , Err : err })
}
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . ListTaskEvents ( w , r , taskId , params )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-15 07:31:53 -07:00
// GetTaskFile operation middleware
func ( siw * ServerInterfaceWrapper ) GetTaskFile ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
// Parameter object where we will unmarshal all parameters from the context
var params GetTaskFileParams
// ------------- Required query parameter "path" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , true , "path" , r . URL . Query (), & params . Path , runtime . BindQueryParameterOptions { Type : "string" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "path" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "path" , Err : err })
}
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetTaskFile ( w , r , taskId , params )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-15 07:27:17 -07:00
// GetTaskImage operation middleware
func ( siw * ServerInterfaceWrapper ) GetTaskImage ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
// Parameter object where we will unmarshal all parameters from the context
var params GetTaskImageParams
// ------------- Required query parameter "path" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , true , "path" , r . URL . Query (), & params . Path , runtime . BindQueryParameterOptions { Type : "string" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "path" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "path" , Err : err })
}
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetTaskImage ( w , r , taskId , params )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-14 19:35:34 -07:00
// MergeTask operation middleware
func ( siw * ServerInterfaceWrapper ) MergeTask ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . MergeTask ( w , r , taskId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-16 22:34:14 -07:00
// CancelMergeAfterReview operation middleware
func ( siw * ServerInterfaceWrapper ) CancelMergeAfterReview ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . CancelMergeAfterReview ( w , r , taskId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-14 21:01:38 -07:00
// MergeIn operation middleware
func ( siw * ServerInterfaceWrapper ) MergeIn ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . MergeIn ( w , r , taskId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-15 13:15:49 -07:00
// ListPreviews operation middleware
func ( siw * ServerInterfaceWrapper ) ListPreviews ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . ListPreviews ( w , r , taskId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-17 15:45:27 -07:00
// WithdrawMessage operation middleware
func ( siw * ServerInterfaceWrapper ) WithdrawMessage ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
// ------------- Path parameter "inputId" -------------
var inputId int64
err = runtime . BindStyledParameterWithOptions ( "simple" , "inputId" , r . PathValue ( "inputId" ), & inputId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "integer" , Format : "int64" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "inputId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . WithdrawMessage ( w , r , taskId , inputId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-15 16:33:17 -07:00
// ListReviews operation middleware
func ( siw * ServerInterfaceWrapper ) ListReviews ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . ListReviews ( w , r , taskId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-13 22:30:39 -07:00
// ListSessions operation middleware
func ( siw * ServerInterfaceWrapper ) ListSessions ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . ListSessions ( w , r , taskId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// CreateSession operation middleware
func ( siw * ServerInterfaceWrapper ) CreateSession ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . CreateSession ( w , r , taskId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-14 22:52:02 -07:00
// ListSnapshots operation middleware
func ( siw * ServerInterfaceWrapper ) ListSnapshots ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . ListSnapshots ( w , r , taskId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-15 11:36:51 -07:00
// ForkSnapshot operation middleware
func ( siw * ServerInterfaceWrapper ) ForkSnapshot ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
// ------------- Path parameter "n" -------------
var n int
err = runtime . BindStyledParameterWithOptions ( "simple" , "n" , r . PathValue ( "n" ), & n , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "integer" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "n" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . ForkSnapshot ( w , r , taskId , n )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-16 11:08:57 -07:00
// MarkSummaryRead operation middleware
func ( siw * ServerInterfaceWrapper ) MarkSummaryRead ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . MarkSummaryRead ( w , r , taskId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-15 12:06:50 -07:00
// GetTaskTerminal operation middleware
func ( siw * ServerInterfaceWrapper ) GetTaskTerminal ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
// Parameter object where we will unmarshal all parameters from the context
var params GetTaskTerminalParams
// ------------- Required query parameter "cols" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , true , "cols" , r . URL . Query (), & params . Cols , runtime . BindQueryParameterOptions { Type : "integer" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "cols" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "cols" , Err : err })
}
return
}
// ------------- Required query parameter "rows" -------------
err = runtime . BindQueryParameterWithOptions ( "form" , true , true , "rows" , r . URL . Query (), & params . Rows , runtime . BindQueryParameterOptions { Type : "integer" , Format : "" })
if err != nil {
var requiredError * runtime . RequiredParameterError
if errors . As ( err , & requiredError ) {
siw . ErrorHandlerFunc ( w , r , & RequiredParamError { ParamName : "rows" })
} else {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "rows" , Err : err })
}
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetTaskTerminal ( w , r , taskId , params )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-14 19:35:34 -07:00
// GetUnmerged operation middleware
func ( siw * ServerInterfaceWrapper ) GetUnmerged ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetUnmerged ( w , r , taskId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-15 21:17:58 -07:00
// GetTaskWorkflow operation middleware
func ( siw * ServerInterfaceWrapper ) GetTaskWorkflow ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetTaskWorkflow ( w , r , taskId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-16 11:01:53 -07:00
// GetWorkflowRun operation middleware
func ( siw * ServerInterfaceWrapper ) GetWorkflowRun ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime . BindStyledParameterWithOptions ( "simple" , "taskId" , r . PathValue ( "taskId" ), & taskId , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "taskId" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetWorkflowRun ( w , r , taskId )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-15 21:17:58 -07:00
// ListWorkflows operation middleware
func ( siw * ServerInterfaceWrapper ) ListWorkflows ( w http . ResponseWriter , r * http . Request ) {
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . ListWorkflows ( w , r )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// DeleteWorkflow operation middleware
func ( siw * ServerInterfaceWrapper ) DeleteWorkflow ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "name" -------------
var name string
err = runtime . BindStyledParameterWithOptions ( "simple" , "name" , r . PathValue ( "name" ), & name , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "name" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . DeleteWorkflow ( w , r , name )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// GetWorkflow operation middleware
func ( siw * ServerInterfaceWrapper ) GetWorkflow ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "name" -------------
var name string
err = runtime . BindStyledParameterWithOptions ( "simple" , "name" , r . PathValue ( "name" ), & name , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "name" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . GetWorkflow ( w , r , name )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
// PutWorkflow operation middleware
func ( siw * ServerInterfaceWrapper ) PutWorkflow ( w http . ResponseWriter , r * http . Request ) {
var err error
_ = err
// ------------- Path parameter "name" -------------
var name string
err = runtime . BindStyledParameterWithOptions ( "simple" , "name" , r . PathValue ( "name" ), & name , runtime . BindStyledParameterOptions { ParamLocation : runtime . ParamLocationPath , Explode : false , Required : true , Type : "string" , Format : "" , ValueIsUnescaped : true })
if err != nil {
siw . ErrorHandlerFunc ( w , r , & InvalidParamFormatError { ParamName : "name" , Err : err })
return
}
handler := http . Handler ( http . HandlerFunc ( func ( w http . ResponseWriter , r * http . Request ) {
siw . Handler . PutWorkflow ( w , r , name )
}))
for _ , middleware := range siw . HandlerMiddlewares {
handler = middleware ( handler )
}
handler . ServeHTTP ( w , r )
}
2026-10-13 22:19:20 -07:00
type UnescapedCookieParamError struct {
ParamName string
Err error
}
func ( e * UnescapedCookieParamError ) Error () string {
return fmt . Sprintf ( "error unescaping cookie parameter '%s'" , e . ParamName )
}
func ( e * UnescapedCookieParamError ) Unwrap () error {
return e . Err
}
type UnmarshalingParamError struct {
ParamName string
Err error
}
func ( e * UnmarshalingParamError ) Error () string {
return fmt . Sprintf ( "Error unmarshaling parameter %s as JSON: %s" , e . ParamName , e . Err . Error ())
}
func ( e * UnmarshalingParamError ) Unwrap () error {
return e . Err
}
type RequiredParamError struct {
ParamName string
}
func ( e * RequiredParamError ) Error () string {
return fmt . Sprintf ( "Query argument %s is required, but not found" , e . ParamName )
}
type RequiredHeaderError struct {
ParamName string
Err error
}
func ( e * RequiredHeaderError ) Error () string {
return fmt . Sprintf ( "Header parameter %s is required, but not found" , e . ParamName )
}
func ( e * RequiredHeaderError ) Unwrap () error {
return e . Err
}
type InvalidParamFormatError struct {
ParamName string
Err error
}
func ( e * InvalidParamFormatError ) Error () string {
return fmt . Sprintf ( "Invalid format for parameter %s: %s" , e . ParamName , e . Err . Error ())
}
func ( e * InvalidParamFormatError ) Unwrap () error {
return e . Err
}
type TooManyValuesForParamError struct {
ParamName string
Count int
}
func ( e * TooManyValuesForParamError ) Error () string {
return fmt . Sprintf ( "Expected one value for %s, got %d" , e . ParamName , e . Count )
}
// Handler creates http.Handler with routing matching OpenAPI spec.
func Handler ( si ServerInterface ) http . Handler {
return HandlerWithOptions ( si , StdHTTPServerOptions {})
}
// ServeMux is an abstraction of [http.ServeMux].
type ServeMux interface {
HandleFunc ( pattern string , handler func ( http . ResponseWriter , * http . Request ))
http . Handler
}
type StdHTTPServerOptions struct {
BaseURL string
BaseRouter ServeMux
Middlewares [] MiddlewareFunc
ErrorHandlerFunc func ( w http . ResponseWriter , r * http . Request , err error )
}
// HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux.
func HandlerFromMux ( si ServerInterface , m ServeMux ) http . Handler {
return HandlerWithOptions ( si , StdHTTPServerOptions {
BaseRouter : m ,
})
}
func HandlerFromMuxWithBaseURL ( si ServerInterface , m ServeMux , baseURL string ) http . Handler {
return HandlerWithOptions ( si , StdHTTPServerOptions {
BaseURL : baseURL ,
BaseRouter : m ,
})
}
// HandlerWithOptions creates http.Handler with additional options
func HandlerWithOptions ( si ServerInterface , options StdHTTPServerOptions ) http . Handler {
m := options . BaseRouter
if m == nil {
m = http . NewServeMux ()
}
if options . ErrorHandlerFunc == nil {
options . ErrorHandlerFunc = func ( w http . ResponseWriter , r * http . Request , err error ) {
http . Error ( w , err . Error (), http . StatusBadRequest )
}
}
wrapper := ServerInterfaceWrapper {
Handler : si ,
HandlerMiddlewares : options . Middlewares ,
ErrorHandlerFunc : options . ErrorHandlerFunc ,
}
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/me" , wrapper . GetMe )
m . HandleFunc ( http . MethodPut + " " + options . BaseURL + "/api/me" , wrapper . UpdateMe )
2026-10-14 21:25:01 -07:00
m . HandleFunc ( http . MethodPut + " " + options . BaseURL + "/api/me/notifications" , wrapper . UpdateNotificationPrefs )
2026-10-18 00:57:51 -07:00
m . HandleFunc ( http . MethodPut + " " + options . BaseURL + "/api/me/default-model" , wrapper . UpdateDefaultModel )
2026-10-18 22:56:33 -07:00
m . HandleFunc ( http . MethodPut + " " + options . BaseURL + "/api/me/review-models" , wrapper . UpdateReviewModels )
2026-10-15 09:40:30 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/me/lead/sessions" , wrapper . ListLeadSessions )
2026-10-16 18:11:00 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/me/lead/events" , wrapper . ListLeadEvents )
2026-10-15 09:40:30 -07:00
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/me/lead/messages" , wrapper . MessageLead )
2026-10-16 10:50:29 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/me/lead/notes" , wrapper . ListLeadNotes )
m . HandleFunc ( http . MethodDelete + " " + options . BaseURL + "/api/me/lead/notes/{noteId}" , wrapper . DeleteLeadNote )
2026-10-15 09:40:30 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/me/focus" , wrapper . GetFocus )
m . HandleFunc ( http . MethodPut + " " + options . BaseURL + "/api/me/focus" , wrapper . SetFocus )
2026-10-16 11:08:57 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/me/summary-reads" , wrapper . GetSummaryReads )
2026-10-15 09:59:13 -07:00
m . HandleFunc ( http . MethodPut + " " + options . BaseURL + "/api/me/pane-focus" , wrapper . SetPaneFocus )
2026-10-13 22:19:20 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/projects" , wrapper . ListProjects )
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/projects" , wrapper . CreateProject )
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/projects/{projectId}" , wrapper . GetProject )
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/projects/{projectId}/tasks" , wrapper . ListTasks )
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/projects/{projectId}/tasks" , wrapper . CreateTask )
2026-10-15 07:23:17 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/projects/{projectId}/todo" , wrapper . GetTodo )
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/projects/{projectId}/todo/tasks" , wrapper . StartTodoItem )
2026-10-13 22:19:20 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}" , wrapper . GetTask )
2026-10-15 21:17:58 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}/workflow" , wrapper . GetTaskWorkflow )
2026-10-16 11:08:57 -07:00
m . HandleFunc ( http . MethodPut + " " + options . BaseURL + "/api/tasks/{taskId}/summary-read" , wrapper . MarkSummaryRead )
2026-10-16 11:01:53 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}/workflow/run" , wrapper . GetWorkflowRun )
2026-10-14 19:35:34 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}/unmerged" , wrapper . GetUnmerged )
2026-10-15 07:15:51 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}/co-authors" , wrapper . GetCoAuthors )
2026-10-14 19:35:34 -07:00
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/tasks/{taskId}/merge" , wrapper . MergeTask )
2026-10-16 22:34:14 -07:00
m . HandleFunc ( http . MethodDelete + " " + options . BaseURL + "/api/tasks/{taskId}/merge-after-review" , wrapper . CancelMergeAfterReview )
2026-10-14 21:01:38 -07:00
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/tasks/{taskId}/merge-in" , wrapper . MergeIn )
2026-10-14 19:35:34 -07:00
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/tasks/{taskId}/discard" , wrapper . DiscardTask )
2026-10-18 08:48:57 -07:00
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/tasks/{taskId}/board" , wrapper . PostToBoard )
2026-10-14 09:40:12 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}/events" , wrapper . ListTaskEvents )
2026-10-14 19:35:34 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}/changes" , wrapper . GetTaskChanges )
2026-10-15 07:27:17 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}/image" , wrapper . GetTaskImage )
2026-10-14 19:35:34 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}/diff" , wrapper . GetTaskDiff )
2026-10-15 07:31:53 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}/dir" , wrapper . GetTaskDir )
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}/file" , wrapper . GetTaskFile )
2026-10-15 12:06:50 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}/terminal" , wrapper . GetTaskTerminal )
2026-10-15 13:15:49 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}/previews" , wrapper . ListPreviews )
2026-10-14 22:52:02 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}/snapshots" , wrapper . ListSnapshots )
2026-10-15 16:33:17 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}/reviews" , wrapper . ListReviews )
2026-10-16 10:44:27 -07:00
m . HandleFunc ( http . MethodPut + " " + options . BaseURL + "/api/reviews/{reviewId}/findings/{index}" , wrapper . SetFindingState )
2026-10-15 11:36:51 -07:00
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/tasks/{taskId}/snapshots/{n}/fork" , wrapper . ForkSnapshot )
2026-10-13 22:30:39 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/tasks/{taskId}/sessions" , wrapper . ListSessions )
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/tasks/{taskId}/sessions" , wrapper . CreateSession )
2026-10-17 15:45:27 -07:00
m . HandleFunc ( http . MethodDelete + " " + options . BaseURL + "/api/tasks/{taskId}/queue/{inputId}" , wrapper . WithdrawMessage )
2026-10-13 22:30:39 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/sessions/{sessionId}" , wrapper . GetSession )
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/sessions/{sessionId}/messages" , wrapper . SendMessage )
2026-10-14 19:35:34 -07:00
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/sessions/{sessionId}/compact" , wrapper . CompactSession )
2026-10-13 22:30:39 -07:00
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/sessions/{sessionId}/interrupt" , wrapper . InterruptSession )
2026-10-14 20:07:26 -07:00
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/blobs" , wrapper . UploadBlob )
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/blobs/{blobId}" , wrapper . GetBlob )
2026-10-14 07:02:56 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/inbox" , wrapper . ListInbox )
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/inbox/{itemId}" , wrapper . GetInboxItem )
2026-10-17 23:45:31 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/clients/connect" , wrapper . ConnectClient )
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/clients/transfers/{transferId}" , wrapper . GetClientTransfer )
2026-10-18 00:13:37 -07:00
m . HandleFunc ( http . MethodPut + " " + options . BaseURL + "/api/clients/transfers/{transferId}" , wrapper . PutClientTransfer )
2026-10-14 07:02:56 -07:00
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/inbox/responses" , wrapper . RespondInbox )
2026-10-13 22:19:20 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/events" , wrapper . StreamEvents )
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/admin/status" , wrapper . GetStatus )
2026-10-18 22:17:54 -07:00
m . HandleFunc ( http . MethodPost + " " + options . BaseURL + "/api/admin/permissions" , wrapper . CheckPermissions )
2026-10-15 21:17:58 -07:00
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/workflows" , wrapper . ListWorkflows )
m . HandleFunc ( http . MethodDelete + " " + options . BaseURL + "/api/workflows/{name}" , wrapper . DeleteWorkflow )
m . HandleFunc ( http . MethodGet + " " + options . BaseURL + "/api/workflows/{name}" , wrapper . GetWorkflow )
m . HandleFunc ( http . MethodPut + " " + options . BaseURL + "/api/workflows/{name}" , wrapper . PutWorkflow )
2026-10-13 22:19:20 -07:00
return m
}
// Base64 encoded, compressed with deflate, json marshaled OpenAPI spec.
// Stored as a slice of fixed-width chunks rather than one concatenated
// const string: with thousands of chunks the chained `+` fold is several
// times slower for the Go compiler than parsing a slice literal.
var swaggerSpec = [] string {
2026-10-19 09:53:54 -07:00
"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" ,
"TustmrGzVPPgPr9XtZ737//PAA==" ,
2026-10-13 22:19:20 -07:00
}
// decodeSpec returns the embedded OpenAPI spec as raw JSON bytes,
// after base64-decoding and flate-decompressing the embedded blob.
func decodeSpec () ([] byte , error ) {
encoded := strings . Join ( swaggerSpec , "" )
compressed , err := base64 . StdEncoding . DecodeString ( encoded )
if err != nil {
return nil , fmt . Errorf ( "error base64 decoding spec: %w" , err )
}
zr := flate . NewReader ( bytes . NewReader ( compressed ))
var buf bytes . Buffer
if _ , err := buf . ReadFrom ( zr ); err != nil {
return nil , fmt . Errorf ( "read flate: %w" , err )
}
if err := zr . Close (); err != nil {
return nil , fmt . Errorf ( "close flate reader: %w" , err )
}
return buf . Bytes (), nil
}
var rawSpec = decodeSpecCached ()
// a naive cache of the decoded OpenAPI spec
func decodeSpecCached () func () ([] byte , error ) {
data , err := decodeSpec ()
return func () ([] byte , error ) {
return data , err
}
}
// Constructs a synthetic filesystem for resolving external references when loading openapi specifications.
func PathToRawSpec ( pathToFile string ) map [ string ] func () ([] byte , error ) {
res := make ( map [ string ] func () ([] byte , error ))
if len ( pathToFile ) > 0 {
res [ pathToFile ] = rawSpec
}
return res
}
// GetSpec returns the OpenAPI specification corresponding to the generated
// code in this file. External references in the spec are resolved through
// PathToRawSpec; externally-referenced files must be embedded in their
// corresponding Go packages (via the import-mapping feature). URL-based
// external refs are not supported.
func GetSpec () ( swagger * openapi3 . T , err error ) {
resolvePath := PathToRawSpec ( "" )
loader := openapi3 . NewLoader ()
loader . IsExternalRefsAllowed = true
loader . ReadFromURIFunc = func ( loader * openapi3 . Loader , url * url . URL ) ([] byte , error ) {
pathToFile := url . String ()
pathToFile = path . Clean ( pathToFile )
getSpec , ok := resolvePath [ pathToFile ]
if ! ok {
err1 := fmt . Errorf ( "path not found: %s" , pathToFile )
return nil , err1
}
return getSpec ()
}
var specData [] byte
specData , err = rawSpec ()
if err != nil {
return
}
swagger , err = loader . LoadFromData ( specData )
if err != nil {
return
}
return
}
// GetSpecJSON returns the raw JSON bytes of the embedded OpenAPI
// specification: decompressed but not unmarshaled. External references
// are not resolved here; the bytes are the spec exactly as embedded by
// codegen. The result is cached at package init time, so repeated calls
// are cheap.
func GetSpecJSON () ([] byte , error ) {
return rawSpec ()
}
// GetSwagger returns the OpenAPI specification corresponding to the
// generated code in this file.
//
// Deprecated: GetSwagger predates kin-openapi renaming openapi3.Swagger
// to openapi3.T. Use [GetSpec] instead. This wrapper is retained for
// backwards compatibility.
func GetSwagger () ( * openapi3 . T , error ) {
return GetSpec ()
}