//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" ) // 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 } } // Defines values for AgentSessionRole. const ( Implementer AgentSessionRole = "implementer" Lead AgentSessionRole = "lead" Reviewer AgentSessionRole = "reviewer" ) // Valid indicates whether the value is a known member of the AgentSessionRole enum. func (e AgentSessionRole) Valid() bool { switch e { case Implementer: return true case Lead: return true case Reviewer: return true 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 ( Antigravity AgentSessionVendor = "antigravity" Claude AgentSessionVendor = "claude" Codex AgentSessionVendor = "codex" ) // Valid indicates whether the value is a known member of the AgentSessionVendor enum. func (e AgentSessionVendor) Valid() bool { switch e { case Antigravity: return true case Claude: return true case Codex: return true default: return false } } // 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 } } // Defines values for ClientRequestOp. const ( Bash ClientRequestOp = "bash" Download ClientRequestOp = "download" Hands ClientRequestOp = "hands" ReadFile ClientRequestOp = "read_file" Sign ClientRequestOp = "sign" Upload ClientRequestOp = "upload" WriteFile ClientRequestOp = "write_file" ) // Valid indicates whether the value is a known member of the ClientRequestOp enum. func (e ClientRequestOp) Valid() bool { switch e { case Bash: return true case Download: return true case Hands: return true case ReadFile: return true case Sign: return true case Upload: return true case WriteFile: return true default: return false } } // 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 } } // 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 } } // 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 } } // 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 } } // Defines values for InboxResponseType. const ( Option InboxResponseType = "option" Other InboxResponseType = "other" ) // Valid indicates whether the value is a known member of the InboxResponseType enum. func (e InboxResponseType) Valid() bool { switch e { case Option: return true case Other: 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 } } // 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 } } // Defines values for ReviewState. const ( ReviewStateDone ReviewState = "done" ReviewStateFailed ReviewState = "failed" ReviewStateRunning ReviewState = "running" ReviewStateSkipped ReviewState = "skipped" ) // 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 case ReviewStateSkipped: return true default: return false } } // Defines values for SnapshotTrigger. const ( SnapshotTriggerAnswer SnapshotTrigger = "answer" SnapshotTriggerAskHuman SnapshotTrigger = "ask_human" SnapshotTriggerMessage SnapshotTrigger = "message" SnapshotTriggerRequested SnapshotTrigger = "requested" SnapshotTriggerTimer SnapshotTrigger = "timer" SnapshotTriggerToolCall SnapshotTrigger = "tool_call" SnapshotTriggerTurnEnd SnapshotTrigger = "turn_end" ) // Valid indicates whether the value is a known member of the SnapshotTrigger enum. func (e SnapshotTrigger) Valid() bool { switch e { case SnapshotTriggerAnswer: return true case SnapshotTriggerAskHuman: return true case SnapshotTriggerMessage: return true case SnapshotTriggerRequested: return true case SnapshotTriggerTimer: return true case SnapshotTriggerToolCall: return true case SnapshotTriggerTurnEnd: return true default: return false } } // 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 } } // 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 } } // Defines values for TaskReady. const ( TaskReadyDiscard TaskReady = "discard" TaskReadyMerge TaskReady = "merge" ) // Valid indicates whether the value is a known member of the TaskReady enum. func (e TaskReady) Valid() bool { switch e { case TaskReadyDiscard: return true case TaskReadyMerge: return true default: return false } } // 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 } } // Defines values for TaskStatus. const ( TaskStatusActive TaskStatus = "active" TaskStatusDiscarded TaskStatus = "discarded" TaskStatusMerged TaskStatus = "merged" ) // Valid indicates whether the value is a known member of the TaskStatus enum. func (e TaskStatus) Valid() bool { switch e { case TaskStatusActive: return true case TaskStatusDiscarded: return true case TaskStatusMerged: return true default: return false } } // Defines values for TaskTab. const ( TabBoard TaskTab = "board" TabChanges TaskTab = "changes" TabFiles TaskTab = "files" TabProject TaskTab = "project" TabTerminal TaskTab = "terminal" TabTranscript TaskTab = "transcript" TabWorkflow TaskTab = "workflow" ) // Valid indicates whether the value is a known member of the TaskTab enum. func (e TaskTab) Valid() bool { switch e { case TabBoard: return true case TabChanges: return true case TabFiles: return true case TabProject: return true case TabTerminal: return true case TabTranscript: return true 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 default: return false } } // 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 } } // 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 } } // 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 // AgentSession defines model for AgentSession. type AgentSession struct { CreatedAt time.Time `json:"created_at"` CreatedBy string `json:"created_by"` // ForkedAt With forked_from: the vendor's id of the last thing the fork keeps, a message for Claude Code, a turn for Codex. 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"` // 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"` // Model Requested model; empty means the vendor's default. A session only switches between its own vendor's models. Model string `json:"model"` // Owner The login whose lead agent this is; empty for a task's session. Owner string `json:"owner"` // Role reviewer: a review's session (see Review); a task's sessions list leaves these out. Role AgentSessionRole `json:"role"` State AgentSessionState `json:"state"` // 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"` // TaskId Empty for a lead session. TaskId string `json:"task_id"` // 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. Vendor AgentSessionVendor `json:"vendor"` // VendorSessionId Claude Code's session id, chosen by byre; or the Codex thread id or Antigravity conversation id, empty until the session first starts. VendorSessionId string `json:"vendor_session_id"` } // AgentSessionRole reviewer: a review's session (see Review); a task's sessions list leaves these out. type AgentSessionRole string // AgentSessionState defines model for AgentSession.State. type AgentSessionState string // 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. type AgentSessionVendor string // 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"` // Path file: repo-relative path. image: an image file in the task's worktree, absolute or relative to it. 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 // 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"` } // BoardPostCreate defines model for BoardPostCreate. type BoardPostCreate struct { Text string `json:"text"` } // ClientReply defines model for ClientReply. type ClientReply struct { // Data read_file: the file's contents. sign: the detached signature. Data *[]byte `json:"data,omitempty"` // Error Set when the request couldn't be carried out. Error *string `json:"error,omitempty"` // ExitCode bash, sign: the exit status, -1 when it was killed by its timeout. ExitCode *int `json:"exit_code,omitempty"` // Id The request's id. Id string `json:"id"` // 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. Output *string `json:"output,omitempty"` // Result hands: the tool's MCP CallToolResult. Result *map[string]interface{} `json:"result,omitempty"` } // ClientRequest Work a task agent, or a merge, asks a connected Mac to do, sent over /api/clients/connect. 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"` // 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. Data *[]byte `json:"data,omitempty"` // Dest upload: where the archive's one entry ends up, absolute or starting with ~/; whatever is there is replaced. Dest *string `json:"dest,omitempty"` Id string `json:"id"` // Ident sign: the committer, as "Name ", to sign as when the Mac's git config has no user.signingkey. Ident *string `json:"ident,omitempty"` Op ClientRequestOp `json:"op"` // 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"` // TimeoutMs bash, sign: kill the process group after this long. TimeoutMs *int `json:"timeout_ms,omitempty"` // Tool hands: the byre-hands tool to call. Tool *string `json:"tool,omitempty"` // Transfer upload: the transfer id to get from /api/clients/transfers/{transferId}. download: the transfer id to put the archive to. Transfer *string `json:"transfer,omitempty"` } // ClientRequestOp defines model for ClientRequest.Op. type ClientRequestOp string // 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"` } // ConnectedClient defines model for ConnectedClient. type ConnectedClient struct { // Commit The git commit the app was built from Commit string `json:"commit"` // ConnectedAt When the client's WebSocket connected. ConnectedAt time.Time `json:"connected_at"` // Host The Mac's name from its Byre-Host header. Host string `json:"host"` // Id The ID the app made up when it started Id string `json:"id"` // 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"` } // DefaultModel defines model for DefaultModel. type DefaultModel struct { Model string `json:"model"` } // 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"` } // Error defines model for Error. type Error struct { Message string `json:"message"` } // Event defines model for Event. type Event struct { 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"` } // 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"` } // 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 // 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"` } // FileDiff defines model for FileDiff. type FileDiff struct { Patch string `json:"patch"` Path string `json:"path"` } // 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 // 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"` } // Focus defines model for Focus. type Focus struct { // 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"` // TaskId The task the right pane shows; absent for none. TaskId *string `json:"task_id,omitempty"` } // InboxItem A question an agent asked the human with ask_human. type InboxItem struct { AgentSessionId string `json:"agent_session_id"` CreatedAt time.Time `json:"created_at"` Id string `json:"id"` // 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. 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"` State InboxState `json:"state"` TaskId string `json:"task_id"` ThreadId string `json:"thread_id"` } // InboxRespond defines model for InboxRespond. type InboxRespond struct { Responses []InboxResponseCreate `json:"responses"` } // InboxResponse defines model for InboxResponse. type InboxResponse struct { Attachments []Attachment `json:"attachments"` CreatedAt time.Time `json:"created_at"` DeliveredAt *time.Time `json:"delivered_at,omitempty"` Id string `json:"id"` // Images Blob ids sent to the agent as images alongside the response. 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"` } // InboxResponseCreate defines model for InboxResponseCreate. type InboxResponseCreate struct { Attachments *[]Attachment `json:"attachments,omitempty"` // 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"` // 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"` // Text other: the text sent to the agent, which may be empty when images are given. option: optional notes sent along with the chosen options. 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 // LeadNote defines model for LeadNote. type LeadNote struct { CreatedAt time.Time `json:"created_at"` Id string `json:"id"` // ProjectId The project the note applies to; absent for a note that applies to every project. ProjectId *string `json:"project_id,omitempty"` Text string `json:"text"` UpdatedAt time.Time `json:"updated_at"` } // MessageCreate defines model for MessageCreate. type MessageCreate struct { // Images Blob ids from uploadBlob, sent to the agent as images alongside the text. Images *[]string `json:"images,omitempty"` // 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"` // Text May be empty when images are given. Text string `json:"text"` } // NotificationPrefs Which new questions, finished turns, errors and rate limits notify this user in their open byre pages. type NotificationPrefs struct { // Errors session.error events on tasks. Errors bool `json:"errors"` // Questions Questions. On by default. Questions bool `json:"questions"` // RateLimits session.rate_limited events on tasks. RateLimits bool `json:"rate_limits"` // Reports Task turns that end with a summary (turn.ended with summary: true). Reports bool `json:"reports"` } // PaneFocus defines model for PaneFocus. type PaneFocus struct { // Drafting True while a text box in the right pane holds unsent text. Drafting bool `json:"drafting"` // Focused True while the app's window has focus and the focused element is inside the right pane. Focused bool `json:"focused"` } // 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"` } // 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 // 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://:/. Port int `json:"port"` TaskId string `json:"task_id"` } // 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"` } // 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"` } // Review An agent session on the vendor the task's agent doesn't use, reviewing one snapshot's change. type Review struct { // AgentSessionId The reviewer's session; empty when skipped. AgentSessionId string `json:"agent_session_id"` CreatedAt time.Time `json:"created_at"` // Error failed: why. Error string `json:"error"` // 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"` // 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"` // Model Empty when skipped. Model string `json:"model"` // 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"` // 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"` } // ReviewState skipped: the snapshot's step changed no files, so no reviewer ran. type ReviewState string // ReviewModels defines model for ReviewModels. type ReviewModels struct { ReviewModel string `json:"review_model"` SecondReviewModel string `json:"second_review_model"` } // SessionCreate defines model for SessionCreate. type SessionCreate struct { // 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"` } // 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}. N int `json:"n"` TaskId string `json:"task_id"` TreeSha string `json:"tree_sha"` // 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. Trigger SnapshotTrigger `json:"trigger"` } // 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. type SnapshotTrigger string // Stage defines model for Stage. type Stage struct { // 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"` // 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"` // 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"` // 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. Model string `json:"model,omitempty"` // Name One line of 1 to 100 characters, unique within the workflow. Name string `json:"name"` // Prompt The stage agent's instructions; with agents, the instructions every agent of the team gets before its own. Prompt string `json:"prompt"` } // 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 // 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"` } // Status defines model for Status. type Status struct { ActiveTasks int `json:"active_tasks"` // AgentProcesses Every agent process byre is tracking, idle sessions included. AgentProcesses []AgentProcess `json:"agent_processes"` // Clients Each running app that holds its /api/clients/connect WebSocket, oldest connection first. Clients []ConnectedClient `json:"clients"` DbBytes int64 `json:"db_bytes"` LastEventSeq int64 `json:"last_event_seq"` // LiveAgents Agent processes currently running. LiveAgents int `json:"live_agents"` Projects int `json:"projects"` ProtocolErrors ProtocolErrors `json:"protocol_errors"` // RateLimits Each vendor's latest usage, keyed by vendor, from its usage command or, without one, what the vendor itself reported. RateLimits map[string]Usage `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"` // 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"` } // SummaryRead defines model for SummaryRead. type SummaryRead struct { // Seq The seq of the turn.ended event whose summary was shown. Seq int64 `json:"seq"` } // Task defines model for Task. type Task struct { BaseRef string `json:"base_ref"` Branch string `json:"branch"` // ClosedAt When the task was merged or discarded. 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"` // 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"` // 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"` // 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"` // MergeCommit merged: the squash commit on the default branch; empty when there was nothing to merge. MergeCommit *string `json:"merge_commit,omitempty"` // 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"` // MergeTitle The title of the squash commit Merge makes: the task title until the agent sets another with set_merge_title. MergeTitle string `json:"merge_title"` // 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. Merging bool `json:"merging"` // 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"` // PortBase The first of the task's block of ports (port_base to port_base+9), passed to its agent and terminal as PORT. PortBase int `json:"port_base"` ProjectId string `json:"project_id"` // Ready What the agent last told the human to do with the task: merge (ready_for_merge) or discard (suggest_discard); absent when it hasn't, or when a snapshot other than an answer's or a new question came after. Ready *TaskReady `json:"ready,omitempty"` // 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"` // 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"` // TodoItem The title of the TODO.md item the task was started from; absent for other tasks. 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. 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"` } // TaskReady What the agent last told the human to do with the task: merge (ready_for_merge) or discard (suggest_discard); absent when it hasn't, or when a snapshot other than an answer's or a new question came after. type TaskReady string // 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 // TaskStatus defines model for Task.Status. type TaskStatus string // TaskChanges defines model for TaskChanges. type TaskChanges struct { // 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. Base string `json:"base"` Files []FileChange `json:"files"` // Tree Tree of the worktree as if everything were staged, or the snapshot's tree. Tree string `json:"tree"` } // TaskCreate defines model for TaskCreate. type TaskCreate struct { // 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"` // 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 ": <stage>", with the title as the run's brief. The response is the first of those tasks. Workflow *string `json:"workflow,omitempty"` } // TaskTab defines model for TaskTab. type TaskTab string // 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"` } // 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"` } // TerminalSize defines model for TerminalSize. type TerminalSize struct { Cols int `json:"cols"` Rows int `json:"rows"` } // 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 { // Discuss Tell the agent the human wants to discuss the item in chat before anything is built. Discuss *bool `json:"discuss,omitempty"` Model *string `json:"model,omitempty"` // Title The title of the item to start. Title string `json:"title"` } // TurnRef defines model for TurnRef. type TurnRef struct { SessionId string `json:"session_id"` TaskId string `json:"task_id"` Vendor string `json:"vendor"` } // 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"` } // Usage defines model for Usage. type Usage struct { // Rejected Why the vendor is refusing work, such as a usage cap or depleted credits; absent while it isn't. A window at its limit also counts as rejected. Rejected *string `json:"rejected,omitempty"` // UpdatedAt When the numbers were current. UpdatedAt time.Time `json:"updated_at"` // Windows Independent meters, in the order to show them. Windows []UsageWindow `json:"windows"` } // UsageCommands The shell command that reports each vendor's usage, keyed by vendor; empty uses what the vendor itself reports. type UsageCommands struct { Antigravity string `json:"antigravity"` Claude string `json:"claude"` Codex string `json:"codex"` } // UsageWindow defines model for UsageWindow. type UsageWindow struct { // Label Short name for the meter. Label string `json:"label"` // Limit The window's limit Limit *float64 `json:"limit,omitempty"` // ResetsAt When the meter resets. ResetsAt *time.Time `json:"resets_at,omitempty"` // Unit usd, tokens, requests or percent; selects formatting. Unit string `json:"unit"` // Used Amount used Used float64 `json:"used"` // WindowSeconds The window's length WindowSeconds *int64 `json:"window_seconds,omitempty"` } // User defines model for User. type User struct { // 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"` // NotificationPrefs Which new questions, finished turns, errors and rate limits notify this user in their open byre pages. NotificationPrefs NotificationPrefs `json:"notification_prefs"` // 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"` } // UserUpdate defines model for UserUpdate. type UserUpdate struct { GitEmail string `json:"git_email"` GitName string `json:"git_name"` } // 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. type WorkflowDefinition struct { Description string `json:"description,omitempty"` Stages []Stage `json:"stages"` } // 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 // WorkflowSummary defines model for WorkflowSummary. type WorkflowSummary struct { Description string `json:"description"` Name string `json:"name"` } // 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 // StreamEventsParams defines parameters for StreamEvents. type StreamEventsParams struct { After *int64 `form:"after,omitempty" json:"after,omitempty"` TaskId *string `form:"task_id,omitempty" json:"task_id,omitempty"` Lead *bool `form:"lead,omitempty" json:"lead,omitempty"` LastEventID *int64 `json:"Last-Event-ID,omitempty"` } // ListInboxParams defines parameters for ListInbox. type ListInboxParams struct { 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"` } // ListLeadEventsParams defines parameters for ListLeadEvents. type ListLeadEventsParams struct { Before *int64 `form:"before,omitempty" json:"before,omitempty"` Turns *int `form:"turns,omitempty" json:"turns,omitempty"` } // GetTaskChangesParams defines parameters for GetTaskChanges. type GetTaskChangesParams struct { // Since A commit to compare with instead of the merge-base, such as a user.message event's head. Not allowed with snapshot. Since *string `form:"since,omitempty" json:"since,omitempty"` // 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"` } // 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"` } // 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"` } // ListTaskEventsParams defines parameters for ListTaskEvents. type ListTaskEventsParams struct { After *int64 `form:"after,omitempty" json:"after,omitempty"` Limit *int `form:"limit,omitempty" json:"limit,omitempty"` } // GetTaskFileParams defines parameters for GetTaskFile. type GetTaskFileParams struct { // Path Slash-separated, relative to the worktree root. Path string `form:"path" json:"path"` } // GetTaskImageParams defines parameters for GetTaskImage. type GetTaskImageParams struct { Path string `form:"path" json:"path"` } // MergeTaskJSONBody defines parameters for MergeTask. type MergeTaskJSONBody struct { // AfterReview Merge once the running review of the latest snapshot finishes with no findings, instead of now. AfterReview *bool `json:"after_review,omitempty"` // 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"` } // MergeTaskJSONBodyTarget defines parameters for MergeTask. type MergeTaskJSONBodyTarget string // GetTaskTerminalParams defines parameters for GetTaskTerminal. type GetTaskTerminalParams struct { Cols int `form:"cols" json:"cols"` Rows int `form:"rows" json:"rows"` } // UpdateUsageCommandsJSONRequestBody defines body for UpdateUsageCommands for application/json ContentType. type UpdateUsageCommandsJSONRequestBody = UsageCommands // AnswerAgainJSONRequestBody defines body for AnswerAgain for application/json ContentType. type AnswerAgainJSONRequestBody = InboxResponseCreate // RespondInboxJSONRequestBody defines body for RespondInbox for application/json ContentType. type RespondInboxJSONRequestBody = InboxRespond // UpdateMeJSONRequestBody defines body for UpdateMe for application/json ContentType. type UpdateMeJSONRequestBody = UserUpdate // UpdateDefaultModelJSONRequestBody defines body for UpdateDefaultModel for application/json ContentType. type UpdateDefaultModelJSONRequestBody = DefaultModel // SetFocusJSONRequestBody defines body for SetFocus for application/json ContentType. type SetFocusJSONRequestBody = Focus // MessageLeadJSONRequestBody defines body for MessageLead for application/json ContentType. type MessageLeadJSONRequestBody = MessageCreate // UpdateNotificationPrefsJSONRequestBody defines body for UpdateNotificationPrefs for application/json ContentType. type UpdateNotificationPrefsJSONRequestBody = NotificationPrefs // SetPaneFocusJSONRequestBody defines body for SetPaneFocus for application/json ContentType. type SetPaneFocusJSONRequestBody = PaneFocus // UpdateReviewModelsJSONRequestBody defines body for UpdateReviewModels for application/json ContentType. type UpdateReviewModelsJSONRequestBody = ReviewModels // CreateProjectJSONRequestBody defines body for CreateProject for application/json ContentType. type CreateProjectJSONRequestBody = ProjectCreate // CreateTaskJSONRequestBody defines body for CreateTask for application/json ContentType. type CreateTaskJSONRequestBody = TaskCreate // StartTodoItemJSONRequestBody defines body for StartTodoItem for application/json ContentType. type StartTodoItemJSONRequestBody = TodoStart // SetFindingStateJSONRequestBody defines body for SetFindingState for application/json ContentType. type SetFindingStateJSONRequestBody = FindingStateUpdate // CompactSessionJSONRequestBody defines body for CompactSession for application/json ContentType. type CompactSessionJSONRequestBody = CompactCreate // SendMessageJSONRequestBody defines body for SendMessage for application/json ContentType. type SendMessageJSONRequestBody = MessageCreate // PostToBoardJSONRequestBody defines body for PostToBoard for application/json ContentType. type PostToBoardJSONRequestBody = BoardPostCreate // MergeTaskJSONRequestBody defines body for MergeTask for application/json ContentType. type MergeTaskJSONRequestBody MergeTaskJSONBody // CreateSessionJSONRequestBody defines body for CreateSession for application/json ContentType. type CreateSessionJSONRequestBody = SessionCreate // MarkSummaryReadJSONRequestBody defines body for MarkSummaryRead for application/json ContentType. type MarkSummaryReadJSONRequestBody = SummaryRead // ServerInterface represents all server handlers. type ServerInterface interface { // (POST /api/admin/permissions) CheckPermissions(w http.ResponseWriter, r *http.Request) // (GET /api/admin/status) GetStatus(w http.ResponseWriter, r *http.Request) // (GET /api/admin/usage-commands) GetUsageCommands(w http.ResponseWriter, r *http.Request) // (PUT /api/admin/usage-commands) UpdateUsageCommands(w http.ResponseWriter, r *http.Request) // (POST /api/blobs) UploadBlob(w http.ResponseWriter, r *http.Request) // (GET /api/blobs/{blobId}) GetBlob(w http.ResponseWriter, r *http.Request, blobId string) // (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) // (PUT /api/clients/transfers/{transferId}) PutClientTransfer(w http.ResponseWriter, r *http.Request, transferId string) // (GET /api/events) StreamEvents(w http.ResponseWriter, r *http.Request, params StreamEventsParams) // (GET /api/inbox) ListInbox(w http.ResponseWriter, r *http.Request, params ListInboxParams) // (POST /api/inbox/answer-again) AnswerAgain(w http.ResponseWriter, r *http.Request) // (POST /api/inbox/responses) RespondInbox(w http.ResponseWriter, r *http.Request) // (GET /api/inbox/{itemId}) GetInboxItem(w http.ResponseWriter, r *http.Request, itemId string) // (POST /api/inbox/{itemId}/dismiss) DismissInbox(w http.ResponseWriter, r *http.Request, itemId string) // (GET /api/me) GetMe(w http.ResponseWriter, r *http.Request) // (PUT /api/me) UpdateMe(w http.ResponseWriter, r *http.Request) // (PUT /api/me/default-model) UpdateDefaultModel(w http.ResponseWriter, r *http.Request) // (GET /api/me/focus) GetFocus(w http.ResponseWriter, r *http.Request) // (PUT /api/me/focus) SetFocus(w http.ResponseWriter, r *http.Request) // (GET /api/me/lead/events) ListLeadEvents(w http.ResponseWriter, r *http.Request, params ListLeadEventsParams) // (POST /api/me/lead/messages) MessageLead(w http.ResponseWriter, r *http.Request) // (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) // (GET /api/me/lead/sessions) ListLeadSessions(w http.ResponseWriter, r *http.Request) // (PUT /api/me/notifications) UpdateNotificationPrefs(w http.ResponseWriter, r *http.Request) // (PUT /api/me/pane-focus) SetPaneFocus(w http.ResponseWriter, r *http.Request) // (PUT /api/me/review-models) UpdateReviewModels(w http.ResponseWriter, r *http.Request) // (GET /api/me/summary-reads) GetSummaryReads(w http.ResponseWriter, r *http.Request) // (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) // (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) // (PUT /api/reviews/{reviewId}/findings/{index}) SetFindingState(w http.ResponseWriter, r *http.Request, reviewId string, index int) // (GET /api/sessions/{sessionId}) GetSession(w http.ResponseWriter, r *http.Request, sessionId string) // (POST /api/sessions/{sessionId}/compact) CompactSession(w http.ResponseWriter, r *http.Request, sessionId string) // (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) // (GET /api/tasks/{taskId}) GetTask(w http.ResponseWriter, r *http.Request, taskId string) // (POST /api/tasks/{taskId}/board) PostToBoard(w http.ResponseWriter, r *http.Request, taskId string) // (GET /api/tasks/{taskId}/changes) GetTaskChanges(w http.ResponseWriter, r *http.Request, taskId string, params GetTaskChangesParams) // (GET /api/tasks/{taskId}/co-authors) GetCoAuthors(w http.ResponseWriter, r *http.Request, taskId string) // (GET /api/tasks/{taskId}/diff) GetTaskDiff(w http.ResponseWriter, r *http.Request, taskId string, params GetTaskDiffParams) // (GET /api/tasks/{taskId}/dir) GetTaskDir(w http.ResponseWriter, r *http.Request, taskId string, params GetTaskDirParams) // (POST /api/tasks/{taskId}/discard) DiscardTask(w http.ResponseWriter, r *http.Request, taskId string) // (GET /api/tasks/{taskId}/events) ListTaskEvents(w http.ResponseWriter, r *http.Request, taskId string, params ListTaskEventsParams) // (GET /api/tasks/{taskId}/file) GetTaskFile(w http.ResponseWriter, r *http.Request, taskId string, params GetTaskFileParams) // (GET /api/tasks/{taskId}/image) GetTaskImage(w http.ResponseWriter, r *http.Request, taskId string, params GetTaskImageParams) // (POST /api/tasks/{taskId}/merge) MergeTask(w http.ResponseWriter, r *http.Request, taskId string) // (DELETE /api/tasks/{taskId}/merge-after-review) CancelMergeAfterReview(w http.ResponseWriter, r *http.Request, taskId string) // (POST /api/tasks/{taskId}/merge-in) MergeIn(w http.ResponseWriter, r *http.Request, taskId string) // (GET /api/tasks/{taskId}/previews) ListPreviews(w http.ResponseWriter, r *http.Request, taskId string) // (DELETE /api/tasks/{taskId}/queue/{inputId}) WithdrawMessage(w http.ResponseWriter, r *http.Request, taskId string, inputId int64) // (GET /api/tasks/{taskId}/reviews) ListReviews(w http.ResponseWriter, r *http.Request, taskId string) // (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) // (GET /api/tasks/{taskId}/snapshots) ListSnapshots(w http.ResponseWriter, r *http.Request, taskId string) // (POST /api/tasks/{taskId}/snapshots/{n}/fork) ForkSnapshot(w http.ResponseWriter, r *http.Request, taskId string, n int) // (PUT /api/tasks/{taskId}/summary-read) MarkSummaryRead(w http.ResponseWriter, r *http.Request, taskId string) // (GET /api/tasks/{taskId}/terminal) GetTaskTerminal(w http.ResponseWriter, r *http.Request, taskId string, params GetTaskTerminalParams) // (GET /api/tasks/{taskId}/unmerged) GetUnmerged(w http.ResponseWriter, r *http.Request, taskId string) // (GET /api/tasks/{taskId}/workflow) GetTaskWorkflow(w http.ResponseWriter, r *http.Request, taskId string) // (GET /api/tasks/{taskId}/workflow/run) GetWorkflowRun(w http.ResponseWriter, r *http.Request, taskId string) // (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) } // 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 // 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) } // 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) } // GetUsageCommands operation middleware func (siw *ServerInterfaceWrapper) GetUsageCommands(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetUsageCommands(w, r) })) for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) } handler.ServeHTTP(w, r) } // UpdateUsageCommands operation middleware func (siw *ServerInterfaceWrapper) UpdateUsageCommands(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.UpdateUsageCommands(w, r) })) for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) } handler.ServeHTTP(w, r) } // 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) } // 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) } // 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) } // 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(), ¶ms.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 "task_id" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "task_id", r.URL.Query(), ¶ms.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 "lead" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "lead", r.URL.Query(), ¶ms.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 } 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) } // 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(), ¶ms.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(), ¶ms.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(), ¶ms.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) } // AnswerAgain operation middleware func (siw *ServerInterfaceWrapper) AnswerAgain(w http.ResponseWriter, r *http.Request) { handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.AnswerAgain(w, r) })) 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) } // DismissInbox operation middleware func (siw *ServerInterfaceWrapper) DismissInbox(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.DismissInbox(w, r, itemId) })) for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) } handler.ServeHTTP(w, r) } // 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) } // 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) } // 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) } // 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(), ¶ms.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(), ¶ms.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) } // 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) } // 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"), ¬eId, 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) } // 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) } // 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) } // 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) } // 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) } // 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) } // 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) } // 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) } // 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) } // 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) } // 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) } // 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) } // 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) } // 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) } // GetTaskChanges operation middleware func (siw *ServerInterfaceWrapper) GetTaskChanges(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 GetTaskChangesParams // ------------- Optional query parameter "since" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "since", r.URL.Query(), ¶ms.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 } // ------------- Optional query parameter "snapshot" ------------- err = runtime.BindQueryParameterWithOptions("form", true, false, "snapshot", r.URL.Query(), ¶ms.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(), ¶ms.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 } handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { siw.Handler.GetTaskChanges(w, r, taskId, params) })) for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) } handler.ServeHTTP(w, r) } // 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) } // 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(), ¶ms.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(), ¶ms.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(), ¶ms.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(), ¶ms.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) } // 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(), ¶ms.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) } // 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) })) for _, middleware := range siw.HandlerMiddlewares { handler = middleware(handler) } handler.ServeHTTP(w, r) } // 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(), ¶ms.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(), ¶ms.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) } // 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(), ¶ms.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) } // 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(), ¶ms.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) } // 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) } // 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) } // 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) } // 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) } // 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) } // 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) } // 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) } // 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) } // 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) } // 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) } // 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(), ¶ms.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(), ¶ms.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) } // 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) } // 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) } // 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) } // 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) } 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) m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/me/notifications", wrapper.UpdateNotificationPrefs) m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/me/default-model", wrapper.UpdateDefaultModel) m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/me/review-models", wrapper.UpdateReviewModels) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/me/lead/sessions", wrapper.ListLeadSessions) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/me/lead/events", wrapper.ListLeadEvents) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/me/lead/messages", wrapper.MessageLead) 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) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/me/focus", wrapper.GetFocus) m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/me/focus", wrapper.SetFocus) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/me/summary-reads", wrapper.GetSummaryReads) m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/me/pane-focus", wrapper.SetPaneFocus) 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) 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) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}", wrapper.GetTask) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/workflow", wrapper.GetTaskWorkflow) m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/tasks/{taskId}/summary-read", wrapper.MarkSummaryRead) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/workflow/run", wrapper.GetWorkflowRun) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/unmerged", wrapper.GetUnmerged) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/co-authors", wrapper.GetCoAuthors) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/tasks/{taskId}/merge", wrapper.MergeTask) m.HandleFunc(http.MethodDelete+" "+options.BaseURL+"/api/tasks/{taskId}/merge-after-review", wrapper.CancelMergeAfterReview) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/tasks/{taskId}/merge-in", wrapper.MergeIn) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/tasks/{taskId}/discard", wrapper.DiscardTask) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/tasks/{taskId}/board", wrapper.PostToBoard) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/events", wrapper.ListTaskEvents) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/changes", wrapper.GetTaskChanges) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/image", wrapper.GetTaskImage) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/diff", wrapper.GetTaskDiff) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/dir", wrapper.GetTaskDir) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/file", wrapper.GetTaskFile) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/terminal", wrapper.GetTaskTerminal) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/previews", wrapper.ListPreviews) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/snapshots", wrapper.ListSnapshots) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/reviews", wrapper.ListReviews) m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/reviews/{reviewId}/findings/{index}", wrapper.SetFindingState) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/tasks/{taskId}/snapshots/{n}/fork", wrapper.ForkSnapshot) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/sessions", wrapper.ListSessions) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/tasks/{taskId}/sessions", wrapper.CreateSession) m.HandleFunc(http.MethodDelete+" "+options.BaseURL+"/api/tasks/{taskId}/queue/{inputId}", wrapper.WithdrawMessage) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/sessions/{sessionId}", wrapper.GetSession) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/sessions/{sessionId}/messages", wrapper.SendMessage) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/sessions/{sessionId}/compact", wrapper.CompactSession) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/sessions/{sessionId}/interrupt", wrapper.InterruptSession) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/blobs", wrapper.UploadBlob) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/blobs/{blobId}", wrapper.GetBlob) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/inbox", wrapper.ListInbox) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/inbox/{itemId}", wrapper.GetInboxItem) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/inbox/{itemId}/dismiss", wrapper.DismissInbox) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/clients/connect", wrapper.ConnectClient) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/clients/transfers/{transferId}", wrapper.GetClientTransfer) m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/clients/transfers/{transferId}", wrapper.PutClientTransfer) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/inbox/responses", wrapper.RespondInbox) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/inbox/answer-again", wrapper.AnswerAgain) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/events", wrapper.StreamEvents) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/admin/status", wrapper.GetStatus) m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/admin/usage-commands", wrapper.GetUsageCommands) m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/admin/usage-commands", wrapper.UpdateUsageCommands) m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/admin/permissions", wrapper.CheckPermissions) 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) 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{ "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", "cJ/fq1rP+/f/cwA=", } // 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() }