Files
byre/internal/api/api.gen.go
T
2026-10-21 10:48:59 -07:00

4942 lines
187 KiB
Go

//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"
Exec ClientRequestOp = "exec"
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 Exec:
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"
SnapshotTriggerFork SnapshotTrigger = "fork"
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 SnapshotTriggerFork:
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 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 TaskState.
const (
TaskStateAsking TaskState = "asking"
TaskStateDiscardSuggested TaskState = "discard_suggested"
TaskStateDiscarded TaskState = "discarded"
TaskStateDiscarding TaskState = "discarding"
TaskStateFinished TaskState = "finished"
TaskStateIdle TaskState = "idle"
TaskStateMergeAfterReview TaskState = "merge_after_review"
TaskStateMergeHeld TaskState = "merge_held"
TaskStateMerged TaskState = "merged"
TaskStateMerging TaskState = "merging"
TaskStateNoAgent TaskState = "no_agent"
TaskStateReadyToMerge TaskState = "ready_to_merge"
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 TaskStateAsking:
return true
case TaskStateDiscardSuggested:
return true
case TaskStateDiscarded:
return true
case TaskStateDiscarding:
return true
case TaskStateFinished:
return true
case TaskStateIdle:
return true
case TaskStateMergeAfterReview:
return true
case TaskStateMergeHeld:
return true
case TaskStateMerged:
return true
case TaskStateMerging:
return true
case TaskStateNoAgent:
return true
case TaskStateReadyToMerge:
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
// Away defines model for Away.
type Away struct {
Away bool `json:"away"`
}
// 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"`
}
// ClientExec defines model for ClientExec.
type ClientExec struct {
// Client The client's name or id; absent for the most recently active one.
Client *string `json:"client,omitempty"`
// Command Run with zsh as a login shell in the home directory
Command string `json:"command"`
// TimeoutMs Kill the process group after this long.
TimeoutMs int `json:"timeout_ms"`
}
// ClientExecResult defines model for ClientExecResult.
type ClientExecResult struct {
// Client The id of the client that ran it.
Client string `json:"client"`
ExitCode int `json:"exit_code"`
Stderr []byte `json:"stderr"`
Stdout []byte `json:"stdout"`
}
// ClientReply The app sends one reply with accepted set as soon as it receives a request, so byre knows within a moment that the Mac is listening, then one final reply without it.
type ClientReply struct {
// Accepted Set only on the first reply, which says the app received the request and started on it.
Accepted *bool `json:"accepted,omitempty"`
// 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, exec, 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"`
// Stderr exec: everything the command wrote to stderr.
Stderr *[]byte `json:"stderr,omitempty"`
// Stdout exec: everything the command wrote to stdout.
Stdout *[]byte `json:"stdout,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, exec: 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 <email>", 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, exec, 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
// ClientSync The app's latest finished iCloud sync operation; absent from a client until it reports one.
type ClientSync struct {
// At When it finished.
At time.Time `json:"at"`
// Error Why it failed; absent when ok.
Error *string `json:"error,omitempty"`
// Ok Whether that operation succeeded.
Ok bool `json:"ok"`
}
// 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"`
// Sync The app's latest finished iCloud sync operation; absent from a client until it reports one.
Sync *ClientSync `json:"sync,omitempty"`
}
// 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, 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"`
}
// 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"`
// SendId The caller's id for this send, carried on the user.queued and user.message events the message records.
SendId *string `json:"send_id,omitempty"`
// Text May be empty when images are given.
Text string `json:"text"`
}
// NotificationPrefs Which task events notify this user in the macOS app.
type NotificationPrefs struct {
// Discard task.discard_suggested events.
Discard bool `json:"discard"`
// Errors session.error events on tasks.
Errors bool `json:"errors"`
// MergeProblems task.merge_stopped and task.merge_after_review_dropped events.
MergeProblems bool `json:"merge_problems"`
// Questions Questions. On by default.
Questions bool `json:"questions"`
// RateLimits session.rate_limited events on tasks.
RateLimits bool `json:"rate_limits"`
// Ready task.ready events.
Ready bool `json:"ready"`
// Reports Task turns that end with a summary (turn.ended with summary: true).
Reports bool `json:"reports"`
// Workflows task.workflow_finished events.
Workflows bool `json:"workflows"`
}
// 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 http://<byre's tailnet host>:<port>/.
Port int `json:"port"`
TaskId string `json:"task_id"`
}
// Project defines model for Project.
type Project struct {
// AuditWorkflow The workflow byre runs in the background, one run at a time, on the default branch's newest commit; empty for no audits.
AuditWorkflow string `json:"audit_workflow"`
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"`
// ReviewWorkflow The review workflow whose stages review every snapshot of the project's tasks; empty for no reviews.
ReviewWorkflow string `json:"review_workflow"`
}
// ProjectCreate defines model for ProjectCreate.
type ProjectCreate struct {
Name string `json:"name"`
RepoPath string `json:"repo_path"`
}
// ProjectWorkflow defines model for ProjectWorkflow.
type ProjectWorkflow struct {
// Workflow A saved workflow, or empty for none.
Workflow string `json:"workflow"`
}
// 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 recognize since byre started, keyed by vendor.
Counts map[string]int `json:"counts"`
// Recent The most recent ones, newest first.
Recent []ProtocolError `json:"recent"`
}
// Review One stage of the project's review workflow, an agent session 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"`
// Stage The review workflow's stage this reviewer ran; empty when skipped.
Stage string `json:"stage"`
// 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
// SavedCommand defines model for SavedCommand.
type SavedCommand struct {
// Command The line typed into the new terminal's shell.
Command string `json:"command"`
Id string `json:"id"`
Name string `json:"name"`
}
// SavedCommandSave defines model for SavedCommandSave.
type SavedCommandSave struct {
Command string `json:"command"`
Name string `json:"name"`
}
// 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"`
// SendId The caller's id for this send, carried on the user.message event the prompt records.
SendId *string `json:"send_id,omitempty"`
}
// 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. fork: when the task's agent forked the task with its fork tool. ask_human: after byre committed the worktree inside an ask_human call whose task is behind the default branch, just before suggesting the agent merge it in. answer, fork and ask_human snapshots are never reviewed. message (the agent wrote text after one or more tool calls), tool_call 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. fork: when the task's agent forked the task with its fork tool. ask_human: after byre committed the worktree inside an ask_human call whose task is behind the default branch, just before suggesting the agent merge it in. answer, fork and ask_human snapshots are never reviewed. message (the agent wrote text after one or more tool calls), tool_call and timer appear only on snapshots taken by earlier builds.
type SnapshotTrigger 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"`
}
// Tailnet defines model for Tailnet.
type Tailnet struct {
// AuthUrl The URL that signs the node in while it needs a login; empty otherwise.
AuthUrl string `json:"auth_url"`
// Hostname The hostname the node asks the tailnet for.
Hostname string `json:"hostname"`
// Origin byre's https origin on the tailnet, empty until the node has a certificate domain.
Origin string `json:"origin"`
// State The node's backend state: NoState, NeedsLogin, NeedsMachineAuth, Stopped, Starting or Running.
State string `json:"state"`
}
// Task defines model for Task.
type Task struct {
// Audit The default branch commit an audit audits, on the task of a run of its project's audit workflow; absent for other tasks.
Audit *string `json:"audit,omitempty"`
// Background Whether the task is an audit's run or stage task that hasn't asked for attention yet: no question, ready_for_merge or error so far (for a run, from any of its stage tasks). The app keeps it out of the task switcher and shows it muted on the Project tab, and the lead gets no signals about it.
Background bool `json:"background"`
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 color 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, or for a stage task its workflow run's task; 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"`
// State The one state the task is in, kept by the store in the same transaction as every change to it (a task.state event carries each change). The first that holds: merged or discarded once closed; for a workflow run's task, finished once the run finished, running while one of its stage tasks is running, else idle; discarding; asking while it has an open question; merging while a Merge or a merge into its parent is under way; merge_held while its Merge waits for another merge in the project; merge_after_review while a Merge with after_review waits for its review; running while one of its agents is mid-turn or has subagents running; reviewing while a review runs; review_pending between a turn's end and its snapshot's review starting or being skipped; ready_to_merge or discard_suggested when the agent's latest ready_for_merge or suggest_discard still stands; finished when it runs a workflow stage whose finish_stage has taken; idle; no_agent when it has no live 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 Empty until the task's agent names it with set_task_title, when the task was created without one.
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 For a workflow run's task: the name of the workflow it froze at creation (getTaskWorkflow has its copy). A run's task has no agent, worktree or branch (branch, worktree_path and base_ref are empty); its stage tasks are its subtasks, and it closes once they all have, as merged when any of them merged. Absent for other tasks.
Workflow *string `json:"workflow,omitempty"`
// WorkflowStage For a stage task of a workflow run: the name of the stage it runs; parent_task_id is the run's task. Absent for other tasks.
WorkflowStage *string `json:"workflow_stage,omitempty"`
WorktreePath string `json:"worktree_path"`
}
// TaskState The one state the task is in, kept by the store in the same transaction as every change to it (a task.state event carries each change). The first that holds: merged or discarded once closed; for a workflow run's task, finished once the run finished, running while one of its stage tasks is running, else idle; discarding; asking while it has an open question; merging while a Merge or a merge into its parent is under way; merge_held while its Merge waits for another merge in the project; merge_after_review while a Merge with after_review waits for its review; running while one of its agents is mid-turn or has subagents running; reviewing while a review runs; review_pending between a turn's end and its snapshot's review starting or being skipped; ready_to_merge or discard_suggested when the agent's latest ready_for_merge or suggest_discard still stands; finished when it runs a workflow stage whose finish_stage has taken; idle; no_agent when it has no live 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 {
// Images Blob ids of images attached to the first message; they start the agent like prompt does. Not with workflow.
Images *[]string `json:"images,omitempty"`
// Model The agent's model when prompt or images are 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 The task's title. Without it the task starts untitled, and its agent names it with set_task_title. Required with workflow.
Title *string `json:"title,omitempty"`
// Workflow The name of a saved workflow to run instead of creating one task with no agent: the run gets a task of its own, titled with the title, and each stage that starts it becomes its subtask, titled "<title>: <stage>", with the title as the run's brief. The response is the run's task.
Workflow *string `json:"workflow,omitempty"`
}
// TaskTab defines model for TaskTab.
type TaskTab string
// TaskTerminal defines model for TaskTerminal.
type TaskTerminal struct {
Id string `json:"id"`
// Name Shell, or the name of the saved command it was started with.
Name string `json:"name"`
StartedAt time.Time `json:"started_at"`
}
// TaskWorkflow The workflow a task froze when it was created, as it was then.
type TaskWorkflow struct {
// Definition A workflow's definition, which holds everything but its name: its steps, run in order. Run on a brief, each stage runs as its own task once the steps before it have finished; as a project's review workflow, each stage is a reviewer of a snapshot and gets the earlier stages' reviews.
Definition WorkflowDefinition `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"`
}
// TerminalStart defines model for TerminalStart.
type TerminalStart struct {
// CommandId A saved command of the calling user's to run in it.
CommandId *string `json:"command_id,omitempty"`
}
// 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 {
// Away While true, byre answers the questions agents ask in this user's tasks at once.
Away bool `json:"away"`
// 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 task events notify this user in the macOS app.
NotificationPrefs NotificationPrefs `json:"notification_prefs"`
}
// UserUpdate defines model for UserUpdate.
type UserUpdate struct {
GitEmail string `json:"git_email"`
GitName string `json:"git_name"`
}
// WorkflowDefinition A workflow's definition, which holds everything but its name: its steps, run in order. Run on a brief, each stage runs as its own task once the steps before it have finished; as a project's review workflow, each stage is a reviewer of a snapshot and gets the earlier stages' reviews.
type WorkflowDefinition struct {
Description string `json:"description,omitempty"`
Steps []WorkflowStep `json:"steps"`
}
// WorkflowRun defines model for WorkflowRun.
type WorkflowRun struct {
Brief string `json:"brief"`
// Definition A workflow's definition, which holds everything but its name: its steps, run in order. Run on a brief, each stage runs as its own task once the steps before it have finished; as a project's review workflow, each stage is a reviewer of a snapshot and gets the earlier stages' reviews.
Definition WorkflowDefinition `json:"definition"`
// Finished Whether the final stage finished, which ends the run.
Finished bool `json:"finished"`
Name string `json:"name"`
// 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 whose outputs it gets, from the steps' shape.
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
// WorkflowStep Exactly one of stage (with its model or agents, and prompt), order or parallel. A stage gets the outputs of the stages that end the step before it: the last stage of an order, every branch's last stage of a parallel.
type WorkflowStep struct {
// 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"`
// 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"`
// Order Steps run one after another, each getting the outputs of the one before.
Order *[]WorkflowStep `json:"order,omitempty"`
// Parallel Branches run at the same time, each getting the outputs of the step before the parallel.
Parallel *[]WorkflowStep `json:"parallel,omitempty"`
// Prompt The stage agent's instructions; with agents, the instructions every agent of the team gets before its own.
Prompt string `json:"prompt,omitempty"`
// Stage The stage's name, one line of 1 to 100 characters, unique within the workflow.
Stage string `json:"stage,omitempty"`
}
// 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"`
// KeepOpen Land the work so far and keep the task open, instead of closing it.
KeepOpen *bool `json:"keep_open,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"`
}
// PutWorkflowParams defines parameters for PutWorkflow.
type PutWorkflowParams struct {
From *string `form:"from,omitempty" json:"from,omitempty"`
}
// UpdateUsageCommandsJSONRequestBody defines body for UpdateUsageCommands for application/json ContentType.
type UpdateUsageCommandsJSONRequestBody = UsageCommands
// ExecClientJSONRequestBody defines body for ExecClient for application/json ContentType.
type ExecClientJSONRequestBody = ClientExec
// SetClientSyncJSONRequestBody defines body for SetClientSync for application/json ContentType.
type SetClientSyncJSONRequestBody = ClientSync
// 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
// UpdateAwayJSONRequestBody defines body for UpdateAway for application/json ContentType.
type UpdateAwayJSONRequestBody = Away
// CreateSavedCommandJSONRequestBody defines body for CreateSavedCommand for application/json ContentType.
type CreateSavedCommandJSONRequestBody = SavedCommandSave
// UpdateSavedCommandJSONRequestBody defines body for UpdateSavedCommand for application/json ContentType.
type UpdateSavedCommandJSONRequestBody = SavedCommandSave
// 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
// CreateProjectJSONRequestBody defines body for CreateProject for application/json ContentType.
type CreateProjectJSONRequestBody = ProjectCreate
// SetAuditWorkflowJSONRequestBody defines body for SetAuditWorkflow for application/json ContentType.
type SetAuditWorkflowJSONRequestBody = ProjectWorkflow
// SetReviewWorkflowJSONRequestBody defines body for SetReviewWorkflow for application/json ContentType.
type SetReviewWorkflowJSONRequestBody = ProjectWorkflow
// 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
// StartTaskTerminalJSONRequestBody defines body for StartTaskTerminal for application/json ContentType.
type StartTaskTerminalJSONRequestBody = TerminalStart
// PutWorkflowJSONRequestBody defines body for PutWorkflow for application/json ContentType.
type PutWorkflowJSONRequestBody = WorkflowDefinition
// 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)
// (POST /api/clients/exec)
ExecClient(w http.ResponseWriter, r *http.Request)
// (PUT /api/clients/sync)
SetClientSync(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/away)
UpdateAway(w http.ResponseWriter, r *http.Request)
// (GET /api/me/commands)
ListSavedCommands(w http.ResponseWriter, r *http.Request)
// (POST /api/me/commands)
CreateSavedCommand(w http.ResponseWriter, r *http.Request)
// (DELETE /api/me/commands/{commandId})
DeleteSavedCommand(w http.ResponseWriter, r *http.Request, commandId string)
// (PUT /api/me/commands/{commandId})
UpdateSavedCommand(w http.ResponseWriter, r *http.Request, commandId string)
// (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)
// (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)
// (PUT /api/projects/{projectId}/audit-workflow)
SetAuditWorkflow(w http.ResponseWriter, r *http.Request, projectId string)
// (PUT /api/projects/{projectId}/review-workflow)
SetReviewWorkflow(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/tailnet)
GetTailnet(w http.ResponseWriter, r *http.Request)
// (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)
// (DELETE /api/tasks/{taskId}/ready)
DismissReady(w http.ResponseWriter, r *http.Request, taskId string)
// (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}/terminals)
ListTaskTerminals(w http.ResponseWriter, r *http.Request, taskId string)
// (POST /api/tasks/{taskId}/terminals)
StartTaskTerminal(w http.ResponseWriter, r *http.Request, taskId string)
// (DELETE /api/tasks/{taskId}/terminals/{terminalId})
CloseTaskTerminal(w http.ResponseWriter, r *http.Request, taskId string, terminalId string)
// (GET /api/tasks/{taskId}/terminals/{terminalId})
GetTaskTerminal(w http.ResponseWriter, r *http.Request, taskId string, terminalId 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, params PutWorkflowParams)
}
// 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)
}
// ExecClient operation middleware
func (siw *ServerInterfaceWrapper) ExecClient(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ExecClient(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// SetClientSync operation middleware
func (siw *ServerInterfaceWrapper) SetClientSync(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.SetClientSync(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(), &params.After, runtime.BindQueryParameterOptions{Type: "integer", Format: "int64"})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "after"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "after", Err: err})
}
return
}
// ------------- Optional query parameter "task_id" -------------
err = runtime.BindQueryParameterWithOptions("form", true, false, "task_id", r.URL.Query(), &params.TaskId, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "task_id"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "task_id", Err: err})
}
return
}
// ------------- Optional query parameter "lead" -------------
err = runtime.BindQueryParameterWithOptions("form", true, false, "lead", r.URL.Query(), &params.Lead, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "lead"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "lead", Err: err})
}
return
}
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(), &params.ProjectId, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "project_id"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "project_id", Err: err})
}
return
}
// ------------- Optional query parameter "task_id" -------------
err = runtime.BindQueryParameterWithOptions("form", true, false, "task_id", r.URL.Query(), &params.TaskId, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "task_id"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "task_id", Err: err})
}
return
}
// ------------- Optional query parameter "state" -------------
err = runtime.BindQueryParameterWithOptions("form", true, false, "state", r.URL.Query(), &params.State, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "state"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "state", Err: err})
}
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListInbox(w, r, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// 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)
}
// UpdateAway operation middleware
func (siw *ServerInterfaceWrapper) UpdateAway(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.UpdateAway(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// ListSavedCommands operation middleware
func (siw *ServerInterfaceWrapper) ListSavedCommands(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListSavedCommands(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// CreateSavedCommand operation middleware
func (siw *ServerInterfaceWrapper) CreateSavedCommand(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.CreateSavedCommand(w, r)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// DeleteSavedCommand operation middleware
func (siw *ServerInterfaceWrapper) DeleteSavedCommand(w http.ResponseWriter, r *http.Request) {
var err error
_ = err
// ------------- Path parameter "commandId" -------------
var commandId string
err = runtime.BindStyledParameterWithOptions("simple", "commandId", r.PathValue("commandId"), &commandId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "commandId", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.DeleteSavedCommand(w, r, commandId)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// UpdateSavedCommand operation middleware
func (siw *ServerInterfaceWrapper) UpdateSavedCommand(w http.ResponseWriter, r *http.Request) {
var err error
_ = err
// ------------- Path parameter "commandId" -------------
var commandId string
err = runtime.BindStyledParameterWithOptions("simple", "commandId", r.PathValue("commandId"), &commandId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "commandId", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.UpdateSavedCommand(w, r, commandId)
}))
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(), &params.Before, runtime.BindQueryParameterOptions{Type: "integer", Format: "int64"})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "before"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "before", Err: err})
}
return
}
// ------------- Optional query parameter "turns" -------------
err = runtime.BindQueryParameterWithOptions("form", true, false, "turns", r.URL.Query(), &params.Turns, runtime.BindQueryParameterOptions{Type: "integer", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "turns"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "turns", Err: err})
}
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListLeadEvents(w, r, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// 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"), &noteId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "noteId", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.DeleteLeadNote(w, r, noteId)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// 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)
}
// 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)
}
// SetAuditWorkflow operation middleware
func (siw *ServerInterfaceWrapper) SetAuditWorkflow(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.SetAuditWorkflow(w, r, projectId)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// SetReviewWorkflow operation middleware
func (siw *ServerInterfaceWrapper) SetReviewWorkflow(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.SetReviewWorkflow(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)
}
// GetTailnet operation middleware
func (siw *ServerInterfaceWrapper) GetTailnet(w http.ResponseWriter, r *http.Request) {
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetTailnet(w, r)
}))
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(), &params.Since, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "since"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "since", Err: err})
}
return
}
// ------------- Optional query parameter "snapshot" -------------
err = runtime.BindQueryParameterWithOptions("form", true, false, "snapshot", r.URL.Query(), &params.Snapshot, runtime.BindQueryParameterOptions{Type: "integer", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "snapshot"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "snapshot", Err: err})
}
return
}
// ------------- Optional query parameter "step" -------------
err = runtime.BindQueryParameterWithOptions("form", true, false, "step", r.URL.Query(), &params.Step, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "step"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "step", Err: err})
}
return
}
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(), &params.Base, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "base"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "base", Err: err})
}
return
}
// ------------- Required query parameter "tree" -------------
err = runtime.BindQueryParameterWithOptions("form", true, true, "tree", r.URL.Query(), &params.Tree, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "tree"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "tree", Err: err})
}
return
}
// ------------- Required query parameter "path" -------------
err = runtime.BindQueryParameterWithOptions("form", true, true, "path", r.URL.Query(), &params.Path, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "path"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "path", Err: err})
}
return
}
// ------------- Optional query parameter "old_path" -------------
err = runtime.BindQueryParameterWithOptions("form", true, false, "old_path", r.URL.Query(), &params.OldPath, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "old_path"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "old_path", Err: err})
}
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetTaskDiff(w, r, taskId, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetTaskDir operation middleware
func (siw *ServerInterfaceWrapper) GetTaskDir(w http.ResponseWriter, r *http.Request) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime.BindStyledParameterWithOptions("simple", "taskId", r.PathValue("taskId"), &taskId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "taskId", Err: err})
return
}
// Parameter object where we will unmarshal all parameters from the context
var params GetTaskDirParams
// ------------- Optional query parameter "path" -------------
err = runtime.BindQueryParameterWithOptions("form", true, false, "path", r.URL.Query(), &params.Path, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "path"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "path", Err: err})
}
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetTaskDir(w, r, taskId, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// 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(), &params.After, runtime.BindQueryParameterOptions{Type: "integer", Format: "int64"})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "after"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "after", Err: err})
}
return
}
// ------------- Optional query parameter "limit" -------------
err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), &params.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err})
}
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.ListTaskEvents(w, r, taskId, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetTaskFile operation middleware
func (siw *ServerInterfaceWrapper) GetTaskFile(w http.ResponseWriter, r *http.Request) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime.BindStyledParameterWithOptions("simple", "taskId", r.PathValue("taskId"), &taskId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "taskId", Err: err})
return
}
// Parameter object where we will unmarshal all parameters from the context
var params GetTaskFileParams
// ------------- Required query parameter "path" -------------
err = runtime.BindQueryParameterWithOptions("form", true, true, "path", r.URL.Query(), &params.Path, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "path"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "path", Err: err})
}
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetTaskFile(w, r, taskId, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// GetTaskImage operation middleware
func (siw *ServerInterfaceWrapper) GetTaskImage(w http.ResponseWriter, r *http.Request) {
var err error
_ = err
// ------------- Path parameter "taskId" -------------
var taskId string
err = runtime.BindStyledParameterWithOptions("simple", "taskId", r.PathValue("taskId"), &taskId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "taskId", Err: err})
return
}
// Parameter object where we will unmarshal all parameters from the context
var params GetTaskImageParams
// ------------- Required query parameter "path" -------------
err = runtime.BindQueryParameterWithOptions("form", true, true, "path", r.URL.Query(), &params.Path, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "path"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "path", Err: err})
}
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetTaskImage(w, r, taskId, params)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// 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)
}
// DismissReady operation middleware
func (siw *ServerInterfaceWrapper) DismissReady(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.DismissReady(w, r, taskId)
}))
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)
}
// ListTaskTerminals operation middleware
func (siw *ServerInterfaceWrapper) ListTaskTerminals(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.ListTaskTerminals(w, r, taskId)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// StartTaskTerminal operation middleware
func (siw *ServerInterfaceWrapper) StartTaskTerminal(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.StartTaskTerminal(w, r, taskId)
}))
for _, middleware := range siw.HandlerMiddlewares {
handler = middleware(handler)
}
handler.ServeHTTP(w, r)
}
// CloseTaskTerminal operation middleware
func (siw *ServerInterfaceWrapper) CloseTaskTerminal(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 "terminalId" -------------
var terminalId string
err = runtime.BindStyledParameterWithOptions("simple", "terminalId", r.PathValue("terminalId"), &terminalId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "terminalId", Err: err})
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.CloseTaskTerminal(w, r, taskId, terminalId)
}))
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
}
// ------------- Path parameter "terminalId" -------------
var terminalId string
err = runtime.BindStyledParameterWithOptions("simple", "terminalId", r.PathValue("terminalId"), &terminalId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "", ValueIsUnescaped: true})
if err != nil {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "terminalId", Err: err})
return
}
// Parameter object where we will unmarshal all parameters from the context
var params GetTaskTerminalParams
// ------------- Required query parameter "cols" -------------
err = runtime.BindQueryParameterWithOptions("form", true, true, "cols", r.URL.Query(), &params.Cols, runtime.BindQueryParameterOptions{Type: "integer", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "cols"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "cols", Err: err})
}
return
}
// ------------- Required query parameter "rows" -------------
err = runtime.BindQueryParameterWithOptions("form", true, true, "rows", r.URL.Query(), &params.Rows, runtime.BindQueryParameterOptions{Type: "integer", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "rows"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "rows", Err: err})
}
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.GetTaskTerminal(w, r, taskId, terminalId, 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
}
// Parameter object where we will unmarshal all parameters from the context
var params PutWorkflowParams
// ------------- Optional query parameter "from" -------------
err = runtime.BindQueryParameterWithOptions("form", true, false, "from", r.URL.Query(), &params.From, runtime.BindQueryParameterOptions{Type: "string", Format: ""})
if err != nil {
var requiredError *runtime.RequiredParameterError
if errors.As(err, &requiredError) {
siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "from"})
} else {
siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "from", Err: err})
}
return
}
handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
siw.Handler.PutWorkflow(w, r, name, params)
}))
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/away", wrapper.UpdateAway)
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/commands", wrapper.ListSavedCommands)
m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/me/commands", wrapper.CreateSavedCommand)
m.HandleFunc(http.MethodDelete+" "+options.BaseURL+"/api/me/commands/{commandId}", wrapper.DeleteSavedCommand)
m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/me/commands/{commandId}", wrapper.UpdateSavedCommand)
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.MethodPut+" "+options.BaseURL+"/api/projects/{projectId}/review-workflow", wrapper.SetReviewWorkflow)
m.HandleFunc(http.MethodPut+" "+options.BaseURL+"/api/projects/{projectId}/audit-workflow", wrapper.SetAuditWorkflow)
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.MethodDelete+" "+options.BaseURL+"/api/tasks/{taskId}/ready", wrapper.DismissReady)
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}/terminals", wrapper.ListTaskTerminals)
m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/tasks/{taskId}/terminals", wrapper.StartTaskTerminal)
m.HandleFunc(http.MethodDelete+" "+options.BaseURL+"/api/tasks/{taskId}/terminals/{terminalId}", wrapper.CloseTaskTerminal)
m.HandleFunc(http.MethodGet+" "+options.BaseURL+"/api/tasks/{taskId}/terminals/{terminalId}", 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.MethodPut+" "+options.BaseURL+"/api/clients/sync", wrapper.SetClientSync)
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/tailnet", wrapper.GetTailnet)
m.HandleFunc(http.MethodPost+" "+options.BaseURL+"/api/clients/exec", wrapper.ExecClient)
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{
"7L1tcxs3tjD4V1DcrbJ9b4tyZjLP7pVrP3hsJ/Fz48RrOZvanUlxIDZIYtQEGAAtWePy/vanzgvQ6G40",
"ScmW7blzv9hUNxovBwcH5/28ny3tdmeNMsHPzt7PnPI7a7zCP144Zx38WFoTlAnwU+52jV7KoK05/bu3",
"Bp755UZtJfz6351azc5m/9tp1+spvfWn1NuHDx+qWa380ukddDI7o2HmM3jBbaGrp2tlwmtnl8rj3ztn",
"d8oFTVPbKNmEDfzq9+VDu7wUWyWNF1KE1hmhvXCtMdqshTS1MFb44JTcCnWlTBAb6YV0Tl+pWqysE9jD",
"Qq6CcguvltbU/olQ73RQNfcbNkrsaGLQ+doaNZ9VM2Xa7ezsLzN7OatoHvAQP5z9Vs3CzU7hBJ0261k1",
"e3cCH5xcSWfkFhb1l9kPuKif4Tv6ec690F8vuK8P1ayRPixw/gsZxlD4daNMb5rQXlw7G5SQotFGiWCF",
"Dp5BMatmK+u20NWslkGdBL1Vs2pmnbiGrnQQPkgXVD2fnZm2aYbL+VDNdrqGifBzbYJaKwcvvPJeW7Po",
"ve++80EGBW+kF9YI3PZz+iQN1l/d240S3OkDL+j7woSC9JdTg14pU1tXePWhmjn1e6udqmFHsrl3HabP",
"adFxCcNdqSKSdptvL/6ulgEmkC9zjN1Lp2RQNe9tcWtGS4rfXNwUV7yy7jL1OMAWHTaC36+c3Z4h6tAa",
"H3iha2FX+AixKGzgJMGf8Im4VGrnKyHFVnkv1/hUPGtkWyvxzNaqiscQn9tavZuXZp8NP57gUxzqgRcr",
"7TyjonDKt1sFp1F7nmzEikos2yBkEGnRlWhNrZyQwqhrbr3oNveJkBdeGfxA2LBRqStfnO0EVm3V9kK5",
"8fwBYSVs+AMv4LALbfDwAUI98CIouX0i1HYXbuAESHwurmFXrOEvK6RdML1GydrjX05daXWtXHmOW1ur",
"ZjyXN+r3VnkkZtAgjttRtrTvtVrJtglz8TQCQ1jT3Ah/rcNyo7y4UOFaKVqKvTbdl9hzeVb22kxBqLFr",
"bcT1xnqFi6SF0/5qHycKIJARcj7SicJIzjZqPFCE2ZmQDL+uG/HQKyXe4NNHT0ajeNFoH2BqV4h2yith",
"25CTfr3dNWqrTFAOyIGS9axKQ44vgZz6pS7qRsFHdGPNKryfG3X8JZJTlnPo/SX1OHr+Jg0xevWsGxPm",
"2F7gVvgxOH+w12IrzU2kEBHL0ydCOhWv30pcyOXl2tnW1IDZXmizbNpa1QKvW+wBaUXYyHTjwNMt3tLK",
"1HABVYU7JqP1A94iQxpEqn0o090K/U6+s01jr70A6oSTRATHXxF1rqUXTIHx5J6J9S6c/Bu1RAYEjjbS",
"v0qs1VYb3b2Fa88EvXbySoebChgTd8N0iIayJqepOcot8THiSa3ezaqZ7Hqa/Ta5yEX/Vu6vNxsqOx26",
"rsQSTqcRFzfi4sapJ8LSpuG6RNg4gDDcFy5fkFhac6WclyF2Q0e5NUH3oZjR9xL5GFzOg0uZSEt2ORMF",
"LK24u7KRSiTK3btFq/wazk9B8T4PQS43W2aSB7e5ZMAWrgxl6gXwY2XWSW/lukDE8PGZqGWQ4pc3PxZx",
"+VKbOqcrK40LrfVqNYsdw59y7eSW4QirNHLnNxYW3LqmiEBb5bayhDbc2Zl4RS2Et61bquL0drLEvcMk",
"z4RTO3viVCODvlICWs4FL1ka+iWgJVyjSDKITF9bdxmcUhVc5rZpgwI8TP0gw1u+KdRqPBUA1JlY64DX",
"BGKnk2ZdXk2E2h4e14U9+7yPVYVtOMin4m4X8fJa3owxUvJTbn5hbaOkGfWKzUq9/rmxFwU8JylxQc3f",
"T7Oon5CtLQKtRCd6k5s+58XVWunq19aHZ9huvPCg3oXD08BWpf6fNVqZ8OKdWhZgiu/KDBO9izyldWLA",
"yNJN5YNwaqlMaG6EXOJRYIF1DGu73UpTONlvWkP86D/8RoC8zMya36imicdwY7dK1NqpZbAOwKo71jDK",
"oXD576ZlSEAC24bFtsBq/Kdump5Mi30lzkF70VizLrEHg32Iq+wNt39f3ijfNuF2u9OJTdSKmBonzRQZ",
"AlXBAm7xCTE61Mq53sG5uClLvj7Utg1HNB1ChpaTTyV1liYwDak3atfcTEg/u53wytQeJRoHDQmh5HKp",
"dkHVwqsAmOUtSEBeaMJaDay2FI6Elkp4i4yHuDTAj0EPGgSmrd0mCAPEX8ml0MSvK+I8w0YZHHuljWyy",
"Gdg2wIb81cyqIZHkqY1XdK4CiUKWMJ/YFuyzEtcbvdwIL29InIKV80qQlY1rQQkusrh2gBSJIFdAHGVJ",
"jJH1gm5LmkADnBrTOD8XXq8NvaoVMCYAYL02MrQOj/5BFFJR9Tde+XVULsWVLG3b1OZBEBdKLKVzWtVR",
"MNqP5P2+L6TfVEK9U8sqmz98AHAKra/EyTdJHwUM96VuGlUDN4rSNJ3msoCg6zJi8hpQzVEWWNuwa0N5",
"tmeCDgfvJRwPEexahY1ylZCBqG/YKO1Id/I/vhX/qf+cbw/8An3KzlngnR547gfwSDmFK3U6KI9L/N60",
"r79naKAaz5NeIGxUTpEfeEHTnmB3IjGTda1hObJ5nWF+cK0aqtw20tSeZhyshQFePXstnsmmeWttQ+Rx",
"PitQho5q9TuEbT4jQadTKDFlZkVlsAyLoxC2o3l3HIhR53YUU9d76SHiVkHhBoozVvOwdgcF1K1ya1UJ",
"6S+B6C2tMWoZVI3kLFhR20rg5W6vlBOncqdPiWL7U247HxMxt263UXb/mP1OHRW3eZJz6A71GQrBt+Qi",
"KjHNRBSQoEws8QCNqSVoAiPFfCJ20gFo48hakeqCWcP8yLYGfqsasUgHQVCIhD9eP9CGbqjItMD5xrWA",
"ULG0ZqXXyLl5ZNbwxW49J/wTD+1Omd16B4jx7k+P/+NRJZYSqZ3kDmTTeL41Dh6OuoiG7a6xsj5jSoOX",
"lVtu9BUAB65KZYK7EXhrt7u+VIUXF5wmXOD/f/pEXG9kgFMmNN57TsEPuBLlUtW3UaLqushSdfAnsAck",
"sV78dfYTcL9/bR8//uNSbaVu8Kf666zCg63XyE+kS+uVXD7obQFolowVrVduztT4Ut2U74JdLlEDaiOv",
"pJazioE5q2a1vTb8M93SsypDwllFx2tW4aKKMnZZPI5dVyL1XIkSdouH1lWIVt0n+Ny6hOE3jyL7QkRk",
"/wYX4bGPXR/f5pd3ZuCrGRCh8RgZlQKu8AT/RoIFWw8npDxtJ41fldTQ8URAj7GV0DX0tlaB9H89uhsb",
"+dP38efL+sM8gb3Y1a4N+WkTwR6p67K7PbfN+Y1ZTjLfD8AEGJQPwP9qD/ygftbYthb+xiwFXAaonevk",
"R1iqjKILaeqQJ99ZF3yUIAd3zZQlUnfDzqdMjcdyoL9ubrA/qRvVibt4vO1l+dReFqeF2lWUGNLqhW+X",
"S6X6WuYp5QiaeSc0BqA/l8tJfcGEaeYVPE6SO1xPyZ5ljVAaZ0zKzLmAjbVN0mcLH+B4Ma+IF6k0tV2t",
"5uI52XHgYIjQ/yraasr4V1gWcyTPktw71AABaS5jIZFceJ/kIuDhL1rdELoBZgDW6eDFn+E4P6PWGyVr",
"5aL9JxFyRk3cfoP4OKVVSIzUflt5Uqf8qi7O7fJShY4FOx5tN9ZPAIBuHtTV9Nf5g/VxlXsuynGHL58n",
"SG5lrUS7G1rrxyAloMXBpiCGhmxQFlkzDTMUxKFlJ98mSZ0wsN1KQ1Njy4n2adu0WRLVjnPtn2XDFOY4",
"oCMfWda8MlXc55iS0c8i2aXeeWuriOQDvCqRAT55r+Jxn6AC+yk/NSt2r90LYNHGXeu1sa6kuYBDSC+J",
"SCCLdybmax3ocRInyfqk3qGBDpkHL7YyLDeAXiitJEZCyAt7pSY1GIDx5b3R/1BTNgDAWHgvNCBaUL6H",
"DNqE//FtkVHwN9tGm8uScjs2HyOzDB0whPbAOYHBDz2GBPeYbJI3Pooq0eAwJ2CdDRt3luLUFCC3s9oE",
"4DmR72bRr1ZXeqkq4YnwQDO96xn6au0ABMRA4oBHGoQjmry92ann2En+5DvqMH/0M3U+RETcRx6xAzRv",
"Y5VwbgJTf9Qe+MkxrgLU+acOausPndaE9d0NJZ2TN9NsM9DKTKLMLUK9vXHWhtzNIGzo2QQT2ZqlLKoH",
"e+OhfLGFk8ULBdww4lo5JZwCa/dR3AaurErAyscvATx57g1IDvnoHEF0uGGx76vi3S9hucVzjiqOxQE3",
"sLvYhqKN81gvE9LbRk+A6KuADlvkUSNRDARHI7ts/bzdwfDMxJOuImzUjbhQIKkA3y5+BjUwnnb4UmhP",
"DEnYqO2E3fMGhcOz92PA7pyFn1MQ8ur3HmimieC0OXHk3vb7jMFY8QZ2UzxoF0NEeM34NDjUV1HndNSZ",
"xp5KBxoOzj7uXTmFaholXaOVi3uJRwzZjZ1cqyOOF8+XBywtFujksw1YgAuoz3o1X7bcXGgj3U35SqpV",
"o/Z8apt6USZqTgE9ZtyEJuJCrSzrcejlXsN70ROp9bmCQ9Y1spBbW+uVxp84XfzF4/MQiyWCpuCjNEHI",
"eLQqg10OjAS0ya3oPJL7e9EBe0yUyWnAg6nil7ffnfyfAkyyT/BfOLlI+cs8zDTUmIc55lSWrcR7rxKc",
"2sY2aDhDSsP8crQtwpKOvz74qmYY5SNX0+ZpAPdzcBsZwXoH/GBxSRPwKs+KuikPbWpt1m/YKX08A6ck",
"+6BP8HTkQ6i9qC2ycxdk70Ou65pUCcymTTqHdGN3vjTviNtCngd+HseJ8XK+i5/z3y9TL0MApcGruNI9",
"UDqProRDfvodkAm6lmzuMEOwCVas9Ls5iwX1mai132rvVU22pUatApiTIsa9Um6txLV0oCnNGVQcqMgI",
"HgcT/DgHCbsf5sv7ZVfzIvt4kNwo990yPTiNrkJ8WgQv8AIF5O/d1pnbRU8ZMSZC/B3Rab3eBLGTRgm/",
"sdf+Sb49sSFpPOhKJwYjlN3dLw4B4K30l2/lxV6Hybc8gYn5jdZ5iN7DtEpQfWku7LuXQRXdvVGHoIFV",
"M4yl0l+qOtMqkPOAv1zgnwVd5H3xnBNdZXxdfzFoYXoXxMNX0l2CWrizCS03Vi/RCxYjMqQXfzsRD8Uj",
"vJD+Jk7xz3+Lf+708vLEGhQh/3Yi/iJ+y9v95d1veTtwyUVvZWS/HlUJopWwODMvHiq53PAc0An9XUBr",
"m3W1co8qsW2boHdgSwiuJbf+2PWjSjgFahD0yBUPYTFb6WCHeE0PsL9HlZDJL9KTj8VtuV6nvG2ubrlJ",
"6aMJr7FelNNRHCqia7qHCpzqURQIe2H6cws2HbVQGZy6TwvCVc7ARy/XniNrt/jJc0kLrUv37UcBjhXi",
"wNhr85I+/2YIy4k78OB0S/xBhn5Hzzhz5S3s811oRq0afaXcp6E06P9aMLiBT6bQte/d9JF4ktesFxIE",
"V6/rKCYQ3IB8JtCMBhxCAFpOnVYmLj1YH+wwec+a6esIHGO4WWREkt6G3MV8sLYWf2996EtCtES0NYBJ",
"RNU92KQbjUxcaaeI92FVdDc0ujqJC5jTpTLzW/L5rH48+riAMg4+bL1yR1KJuDn8UVLXMdZUvRNxUMIv",
"Hd7PcMamUNySY5V1fImRMiddePGOOxMX8Syg3YGsunA+qq/lcAzWtaNpM1PglYm3NESeymVAV0PFYSyJ",
"EcjudGILUM2YNcqBcrtlRBwuwJ+mCQ3GwIxOMFsJSrLcYhdB7JRY6ytl5iIumv6XjTA2KKZeuBM9RimD",
"SVkde7ezNTxC6fRgfwePxFseNYX+EqQm9fPx+/Nh1JfdKYOxO/5aOdK0RCkMQ092ynlVF/Ur1exHJeuf",
"bOlofkoGt8em7RdrDMYZQ6C48iLYntQg6S2qTLsmHPLEnZR3eIqsspb2FossxhFB9wNOKeu5hAqvSEk+",
"RRcPXtQfQZxgtrc70Uf4HGhP0Xco9cugHAbpzUX04YCQGOWyMLiBF0GVP8zDRNNtHGOEWU1e3GcPIVFT",
"WIY+cByUnCYNX1Sd5zEZ59Cf6/dWtarGBeHfcfykJu6mBAKNq/1e1BuA7jCROywdTyndfrJBrzjPwmun",
"Vr6k40J/Q5DVeT0GProhoJA5gmCxlcufz+G0jeXkWvuldAVoQ79zfrvw7XpNQcM0UllJih47hYnGkEt8",
"H+dqSacx0RV6wi52zl40quRdhrOjRj7Y3Y43OXtMCRwo9nZRO2qzb/bxoiyM9n/HV2DvAXfzGBpd7MjJ",
"oBaN3uqwBxZdI1UfBxKnZH0zAQl8t3d17LhVOFWo62kdRn/LIJSpWbkifLvdSncjHsLrOcn6+IpfnIng",
"WvWoPCBw5yuImp2Ycny/SA5p09MfHJpup7p1Jezrwz+CrUqIPsKtfKqlk/haGjWhAqydXEWj9gCqrlXA",
"CzVKSOKVLuy7eBwzrRqp9ltDlJ+J+hiYaI5U9d5xQvL0u9amttdoeMYPk08HdyMUBakL7YU2HcObpnXE",
"HsQZVR0QysBzQS/1TpZMNbX2u0beLCYdRNY6LNCld/Jt/LQU9J08xZAUbiTafTDMCH3R0M9Yh5snZNPF",
"AKG1CiDuBSd1M+GMNeVqNIAPNav6a8zmnC+uCDjlgP0rZgepVWCYTBg9gvJwW9eZkYP8JaNUK5HNoBta",
"TATDl0FLrJ6+kssbsXYSWH7fLtGd/3zplDLiDV6k2qyLvXoVAFl8ued3J8ASqrm/8UFtd06tlFNmqTyE",
"OUe5H4d94MU5NhLn3OMQc0uWzf6IrVlu1BK0lglVQi+eybWmW97TNtgtuYnalfjZwQ86efSb7Iqc6iC3",
"i+B8yZAKO4qGkDT0YYMpo0symPLuZ6As4g/dfJ9GJJg8oEB7S/p7eD6Izr5o7PKyEl45dBQMYhPC7uz0",
"lBz3wREQlNBSN0aBxdMHfKHO6D10SA9O5x/n8tBpThmwuIaDmpDXJJmM4SnbWodFvELKaB3fkr+ja01y",
"IesSYpAQDyEyIBhhMFsVeVlmN8SFk2a5odAVQlTwRMxdlowVOKEyH3sP8dc8tQVN7fgQ7T1I5dTWhqlX",
"O7uYtMUzs7d/L6hRtyWUb8YH5Nz5JQmjQ30jC6cPKG+PH4CdPj02awXjXreeESQTHPblpBiuuBqi4x5U",
"nhJb9+zLNPDLNKv7Ys88fs22qz+T6Y18KrwEMhJboE4w345jLJOHgBTs0jYTjnS3MkZJXAGkpOKkaxQv",
"TLGg04biaBSM3tXFvpP/QxjftPvTrhWdb+O44ALXNo1olFmHTc8Jd0x7j02mxu2qflY1RmRcBwGLJ3dw",
"W3wpAKHdG+tY8rEa+AhSbkAAAgdw13IXlOu4gp10niOp8G+nlnZtwFd57NReiUt1QyHKHLhRMoFSfoby",
"bmQJHFAdU0Xij0jU0wHt03328fnDAZsbgzHNrLQVbxKD0Z/0z4bJ6ZhuDmhv1Zn3o9KIWmizxtswUmAI",
"bd/E5CuH7fxTRB8VR9y0F07iL/VuNxGleJc7cyJ0iXhwiLcshxeuyD9l0TOyTuHxEY4uubl6nLZr5AgU",
"lc8CHQN4MiTw04zqRbALfp4htg5eaAMJoDRsIIaCcyv/BN9y6BkNAOJpOYg4rh+t1h+7+GRlL6+cvEhk",
"XTvl/WDNR69NJigZGyjbBHro2J0yUytEXcenUMhPKHRfHIfWXRKAYYip4TjS/My0F1sdWJnWRYKfdRqi",
"6NzyiNIUMoQqAivpjICpwuxmSxnUGj3xgw6NqgRJNBV5scL3QHyL8Otbiks5Uor5sgp8HyUOXStSlsa1",
"CiePpwy+7G/HnxAQMwrmg9oxGcMktBhSgxlNjO1NIJcduzSAsDGzimnIrIrDHOllR8R6kPYve/ices+e",
"fBcHyp6dxzGPzq56B9zcn+Qtw4C43UUfmFESuOgKQ7R5wEcPKE+JFJeuwHNgQp91qQ/GwZDFnAiJuYMO",
"a6FNsCniMyi31UZCxgVMi3CbyPkJzn2P/BGneGhx8HvvArfa/IisYu7PM57Z3mZlGWLvFGnHv4QBbufs",
"dndXE1zJuLrdla2bn9Ic1jN/ZcvYY/wabApPtLgZfDILwtJRvpioy1j4jSyJe/QWOUqnFLRiwZ3Tduh+",
"mN0DL3548fR5L1nQ0GPnI1m8K1rT73tdlpjxIXgnJWNSLMC0WFCIiQJUtAlQ/KAPaV0Q3ptyGB4RbjBF",
"JMYTfm09clkDjV2cpq/ooHxD3slOrSi1x8qfgqhzCs0h/wHR6A+n8N3pe/Phtoq6ahb3duKlXq9LUV1g",
"nVooU59xKgnWJSpTn9jVCbxl9JnH6GQAt+wzvxzuR4Fh6GtMSVnYCUVeqkWEx5wZ2bOesxk9y4zj7Kes",
"nCr5nc2h/8uzDil6s1lh3ur0nCaBmgNAhGBtM++cn/N180o5bW46D9HMI033GRIPPkU4iPbiQm0024r6",
"Oseqt1Y2B8dsSjRnNKsBxLSJEKpovhhZl4ZNaIV2coM5Y5j9qefJHP+w65iTNIERjRaaezsBLHAl4OQM",
"fyzgDxwSjq4Dk5iSLqVr60ZHegA8fowdg0wERAMj98WTmVUJx2bVLA0yq2ZpVZxM0M2qWcKx5M9D5/Xy",
"SFYt0tG3hO+v0hwGL962zrwwdeGFtc0zmt/gzVN/+QPPdvgNT37w+E22lmFfcWmD59/hSg9wcQWGzcx6",
"d0BGDHJi25GBgxr7c2AOn4agtrvCnTSVqQJz4VPytDzbUAy8wsyzbK+WZf8VNjQnlfkwrSy/RRRdgm1V",
"1Yt2B5TAiu4tqPXxQMdAZGw6lfaKPitaomOspBTPqVV+6yTLMBMAUGctG+tVLW7UpC16T6b+LHpEwx2G",
"0McR6TMkj6MkpQjYlN6fvyquVJtdGyaMh/ydZ5pGm+izbBg4ONlZdsoxMcGxUZQHUrVBX2LPmYsf+KP1",
"a4htL2F2Jc5vKong203EpwWrzLBhBxTPs9RBrNXQWblLq+NvI6CyTEk5FlJ83FbXeFfOha4bdcapYqso",
"z3dTZEM6sVPpNHQfQK+8DGIriay7NfyfEPys+xlvFeoKjKe9c9G1I1CkZpj+C89IbVXKbuNa8Eej7BXI",
"mXRXLKX+7J1iDkoZi9uchj8uL7qN1LPsgAMNShM9Njs/IekwAX/2NKbrzx59180if/wqzih/+DybXf78",
"Gc30l91B6R21MrcxpNIHnYidkaN0YicpNJ2ZUkDfumyGOj64nbUD8YOJKYSSZw8h8wI+nbAa0BXGqcxK",
"UuYLNCJis5TxDLFVexGcXF4iCgOedQUmYj2Eo8lOr0hSKVqF8pQVZgeKuVQWabcj5y8SPeAEl7JLdomR",
"KmGbmizQ+Cbl7j964sNUUoW51xcLNDodGV6dFd85PlMCRHsspopbPM33TnmxbJ2jPNqZl8e4T7Z3TODN",
"jg0xi85b8mi7jS+4F95FRf4LcpQfqhJOpCIuLLu20HZkxqq6FFbYIGVUhVcxrbI1qmJno1RXBj5RzYoT",
"yfUUgN2pZPAu0C2xcGvC44S8xl4ndOzVkTgaF6G/N2pVwkHv1SI7Q0WNs7ut7qBQYaxcWQWjIGRaKYqy",
"EFqxtgnGsl/MjK9STLXWYlYTTwXNyqj6D7u90CXidR4pEod1xinAsMJY0WBlBjoZxCPIwWFBUse5NdO2",
"WHf0pvx/OLWDlsoM/hnFGFGD7FRWfeLe3+OOYvZpwxAnh16mw9ugA215u8d0oHg7kXnljZIF9fKk7smr",
"36PpNXPcjToo9HahfkkS2Nhrc5RKqZA7pjTpt+TDVfKUCpsFV7MYzxoc/PAOosS5FEZSK6Gjl50OwihV",
"p7TBqWJW2Ch3rX3Z929jfZj2ZIxvu+GQYySJCJcRcXbUsXWaHUH73bL2aRPCzgtqFHWw3OW4/A2OvMGM",
"yEvl2PFfidpupTa3Ye3fcmfgbyeXl4pSzAd1Jn6yyAVW4ieA4Y8AQP79Si432qinbdhU4pyc6eEH53+1",
"TrwZ3XbTHBcygGmnM/gniJVxxl9OuNaVF9nXTkUhHdRb8A3966sO8P4SjoSkOkwrvLc6twT6JloGC7Xg",
"hl753T50/nt7sxQlBVuc4QMuCeWiFZJkZhmieNXpIGUIykCX4kaFMyCnXdwfOrcvVtYtSPtmnaAgC2/F",
"SjrxEDsgP1bK6Gpu4vq7gf0jSicKbCCW84OzlmX8wMlxOI9DYg9EA1tt29DZGF7HEDB5kaWlV7IWaxXo",
"ItBrIxuf0rCUNQwX0qsFF+UZQ3za0ZA0F/uTfJI6VXqWSMmNhyWm4/NNLm1Tsm++ZE8BFkV/ecm+gmIn",
"GxUCpnbn3OEyUGpxDIGUAjsECNHdRF8hN05BVdZwSBHuC/AF6FCxtuV7/T4cPe9Hx8SZHvlCivVar6VG",
"4pOy8GUcUBX/Qqe/GiAzGEFcKGjs1NZelZPr3aEcpomnIVlvdE+xJScKT9xCXQZL2acqO0SMJqtSDuOh",
"9u0gp/cBGOSf7NsVbpGKhKLckMCE+YVAf7Ev0mtKHYtvoy/F7630idYXXaOHSYIdAdRYLv1g6dgXoUcT",
"oYjBaRrC4EG3zFhIk+N8TLc/0ZKWUvgwwdFmnXbUmmUMioQu8bR4ESvuGkAG7cVGNbegS7SGpMApIBu8",
"SpjcAyitbCsvVSz8gIiJH3SsSnTXCz4tmN17wiIbfRLCB+hHB96cevCd2OkadfDD2s5VNOHhc+J54duo",
"cqHFYsNdiz9YA299tGNhXNokkgLzD6R9QSbnfavgy3jF9vj2gnGC3X+pgwESRRrGL3nJfEvpMK2Ppw8W",
"hxM6Ee9PG8jEvqM7Ue9Nc0VgEu+Q8SfQIPnNk54Vnt+KRoHUv4ALfkoZ7nyP74iRI/Bsh6nnH6Yu4Dyn",
"P/4dSmTsJDrzMZyjW2OdvGpgma9/fvN2r+LmYKHq8bQt+bwG1buGgMW+VLsAapOAGn2UzdkJQG65MADl",
"2YapUdwB+YjRIsRDslPPqXcS4si1wwtO4AStmYMj8HWqvLMSm0OUh67gJ7zLhW2tOktXIlXAs8anVacU",
"QPqHVtkRa9k7oarxCjWeT0THTjwBXrfrRnNFdoNelInXfRLpZ4qqfBU53njehudLey76fC1v6HO1AHKa",
"BvKJ3LBpPZG02GFOxGMXvVuxP5nxrdl1Df/TwyfTgOOauZk5BhYI8OgK6vLHTzJf6TgLHhQCjOLrxU6R",
"h2os1kzVuMk/As8Gbljnpsh9+Ez+I3aKPfaesNARbCdzjMPEk80lJtllrqAgsPBHC+6ECxn4ILHwfsLB",
"6MoDi8sRlnCNaNvQTkVGqieMcsYu2KGAu2LtFOqy8M38SFNQH7TpAf2Ot9zADlI0H8UpkStB1hARdVbk",
"3apZfwO6Ljv4H2mMArF7YIlKj9gMlf7ObFDdZzij1wkMgxeDh68SYNKj5zmEeg1VXWjXf/iTfcqwS4+e",
"RiD2+/qBgNl/+BSA+ibCNJu6rG/e2lcM2uEUzjsQl3PmovxW3u/bbUrrn8a+ukcj0LS+gw3OiCSpxVHa",
"wZ6T2lhXOAr1fyIeDw6PUUepDjOjYskjuGMve15QCJLkgwUcJrxesNf49Uikz+tvs/2hnM7D1nahi6kn",
"Rzzy25+f/zzf1phHsT9a7lRwKxZoOqztu6m7mEVQuU3zSo00Fk/5h8o1CuLhWgXAkBhbl/walnZ38wgq",
"+nd9RzIYEzhllQpYu/aQ/u/eLZKnflTVUBJu2MxHT0YsgHQqZy7ZYKBZDeATe3EjwHVrI9HtIGlocJ+7",
"EvPb5Evw9PYgX0wECHw3ZHVRWZhvxHgHqDXfSLF+3CLL09p5I8DDW883AfpO+SHZJJ8LhEl3Nuw/07jl",
"DHpUc2Wx53uqo7Pqd8/tNxSgJm63nIL1FKxTimPKyl4w4k+LGVGH4MjjFsxP0qXK/UkoP4EeelpQPhFy",
"wkkSAwCTJLqDNdm2x17BeBPBX80tsmpm2ehL2ducKi3cqbSYXu7EVV4eEx1WEbfrtJDD8x8gJOMPziMu",
"bXL77uq9Dzwzu+YHrnHLilcSg9h7k/N7ILnOVBiNvkzu77VVfi5+snzTxHP/SRJsvc2YYGxCBI1Htu6Y",
"pFF5gMAwWhW1RqOrk1PnaR8F+x5Iqp4QyjqICQBMuwdNer1ji7n4NVVX7s4Pa7ngwg8pH0knq++78efi",
"DWPYYJJ/NaVp7s8CEAm5HASSAwaBkKuND0piBW+6VDkitfPGjjfmWRKM0cgh0/3BVUs5yq3ushky/wIr",
"Rwk+xqHJEMGjg7hQS7tVA6UM9/TXGSXFwD/xpzrjApjYV1cAsz8m4EJ3KV04rVakNkhJUse3Vgm4HyZO",
"8lvKQB5ZYVRuINyBjltKvrRkYh2pQjWLupksEVN3mx3NM1+8zUd7Ky/+zAO+lRfP0phv5cV3PCx80o38",
"Vl782g3+Vl7EfB+/xbXFtmM6tT8Ya3BeIaYr0dUeO4F4GN1odC84BPdxyg7sPj73YZdixu1xqM4ZygN5",
"TvgUEGOaB+Ewz1ARWcJHYaMK+dtrBfJ24PxH+67COKXn3RdHx8LxwrPBigtXcvtKbS+UO7qU44jqx8yo",
"svEWk7PS0R4lBTgm/1LsGFqkmB0l2bUZIwvtSnwDtOybx49BQ+jkMijnK9Ea/XurYuH8+OGtrpy3eKvw",
"FOw10UrXohLTk2re2UaJ/f2XNyIGa+4JM4sH8ZzzVwzd+hvPgYZ6227zMMNMGHX2+mCrUUaExs/4y73T",
"gjM0GSpZVNA/HZx9JggQYgLXDlekShdTuVBJkSbb2o6not5pH/x+d4WBewW5pkRRWAbeZDthkUg803He",
"d7a2WAfikKsXTzz2/9vEimNNiYEsYCl5ovRiXIgBOnxAgf4mkASdjMeT6Vn4o1XrEGxw7HyRRJN/7ATH",
"BFFNvOFGSae4EijXqrlSaX4F06b2U5lu9nJpceLIEcK0O49N2FcsG4Fuf5zqOUKH8+UdPsxJ3LSYeTEC",
"YGrDJo4MyI+tL7l/qia3RWaxdtJQlVv+NM0eTs1yI5N7pDQs7GiuPzth9ZuM1z3WwoqDB0v3+LGAK8KJ",
"XVQLXoB7o2qPi9LfP6temFbn9c+fl2b7i2Ht50TYVWFTqdav73lsMfWhVNFOgT20aPUvW/MOVFZL8vZA",
"EwSPaUhKd9wFdOKaRBRt+x1iRr8UeslMbubOj1QE45e8cntmlfVSiNOVYeOJapVH61clnR1xqW3ZfzUy",
"49n8+uXY8okVt9wX6wA69Xf08i/X8c7dwjGiuEVbPKygy7soo4e53KGtSe2wBJ1YOlXr4LOywWw+RBcj",
"0HFyHlQZ6Rq6CAL/1flGx/kVaWg/sfiEQ5lpgTH0pDfhCIHjHTZoir7sSrZTeCGJrSLmjTcYC/QgVdlQ",
"Mpvt0U7VuEu/4pgHr9ts9d08J7eeE0VMhOZhKovE4ODpipXkVS/ooBxtEO++1iu/P6DAFzJEmaDXTl7p",
"cDPhNSjbuhxqtLS1eneYQHIPsX3VG3ISYrwNoyPTyIuSRHG+sS5w9XAWHxEvyklq9WQZdtrJB3weeohq",
"2wu8t7UBOSEM0vZfSAwvb01gcpbGpSPAWYVU8PsPDM5aUMvjDwpMaNxp6+tKBHupjK+iHgt9qHbKLbG6",
"i1eNWpIJfisxX2r5qBezKz/dwnIFvtwDqGl4ELCngzz6G0KZUXAgdgVawn3T1Wk/ZGerZsgdXhp7bfjK",
"GaYlRuTi9TJUyxhaEnbltbwp7SwQ3uBaVZG3VUyFAGtIubqjb0PyjtM+iTZkJSKXuDIrFpNj7hG38VUq",
"iM+aNEypg91PZDn+hDmob1GV3mTZ/Re7mN5/H+Ue1wP4mIzTxRkMoVzRfk+hx1QpxjsDbLCeo1NlFxRA",
"BRk7S/zVqXuiVobiHjMryAULQzABdlEOauerKIPjHTyHyAiqQYTK1CrX55Kfio9qYFYLR0cq7C2L1gKj",
"Z/J1eUJsz568idk42ifHH+VYpR1db+GyRa00DBnTXOBn/kFKWIsa3qHyLYPd+4ICdm1P4OEJ+ASdxAI+",
"J1jYXrnZGdACVE6q3fF6gLiN50HtblchjsbZhxpv2kIaddyzqaTGH6V8jBu5X8lSCEevI0IqUydVfJki",
"TlId2t8SRxlFJ57pA89ofCz3mEETQ7eLpsfjgsf5YHeGaY3G5wzwPYcrXtOBLT4PRRkE7csTfCn2O04Y",
"AYem6iQ/RLAHwm/k7pblwGJOiml7GQubTprMq+BhsmJyAgbrLsngGR6lYNfbBbn20qEUZroPn0purxwM",
"gAFJSNvAQVn8HIPx4mJC8m1kN6MsfQrOhcq59ZqktCHJER5LWfCH/YwNPI0uQPMeczcgCNEZ7Nc0aves",
"86HrnrETXfcg86LrHianru5R7vDWPe3ncOClL6Z0i1l+E59slkPwR7/yY1G6fI5xqMwLJJtadgb2HV+k",
"+mP3sKz4nV3Fw5GyYRHLZx3zlnRWyHbwqCLiBm930smmUQ3oBKiLdCnGM5/79GSFcOLh727qM45x8aFL",
"ciyZH6jYgTul6R806yZSuHOnkhC8aTkalvpBziAouT2jjKrg045fJpM+59JJ1mqs+ME6IeYcrElsCRun",
"/EY61DkLNNTm3uSckYzwJpsKLeI4FX9nQLud4wSv+WhD2plY78LJv1FLDrE04hmI5ZVYK7D3dG+tEU87",
"QT1uHjuAE2YZ8Qxle+xi4ICA0feMd6i6ymz8BYvX8WwT4lLJ1UPt4pLi4WZ/dd7WNRUEKSE2fEI4fOvb",
"PvJjw22LyFzw0EH8Vz5Ws+jCHbCoxaG55geOI2Lo1HyymU9aNocYl5s2n9Duxi2HmeWvGX3wdVwJnFOi",
"NYl+4Kn7GOzYk+I4Hn0gyneyBU/7/Rw7vw/7SDw59pXqGe0RN25vy+86K104nFdiT1Gl0fiXmsK7B6EB",
"C6YCMe0DkXT4ld6w6aRYtXPXM8vkKUXuatIZAASnneoFjWHxAe0RKzQRM9uO2QvQtuM84dXj+eP5Yype",
"q4zc6dnZ7I/zx/M/wmLBHAEfY64gWW+1Od2lslX4Zmd96Zyhlg6PunJXVH6eShT2KktBDpEUKgMTO4E8",
"mv6BwNJJ6R7wl/FriuDhrzEl+40KolZLjTnIfsVYHDIT0AcUxi5NXtuJiEPF2Vb/9Fiw8g7OBOALtnpZ",
"g8kKpvE6W/CgrvwfHj8mk5cJHC+I9U5J53L6d67bQUTraCm5G6/Am32oCrUYKNO72ClHgJnDh396/Hhq",
"pLSGU64Vgf1me9wFPawpzUcfLN+rwFm1PhIeB6QZGKGw5HPlrpQTGyUb9lFHm8J8vA58frLMDBdT6+lb",
"OO5xWf2BPnw4kKKpl3ppTu2LeQbPVdnSEr9FODkloxJs2EyuORFJHzSkAhxDB5W+f2aPi/sCTEfq+Gb8",
"crvydui/5/GQfXunQwa1y/cQz/NgnUKihY7DSPRaj+5WMvr3EvsO7hfJo1NeU3uKzgC6Aa9qFdD82ak6",
"MH8SosOWEv6K1z99X4n/+frF95X4/uV3wjpIA/d6Lp4Gqk3zJ/FK/5mEgSF2xMTqe5ECp3W61qv+hiRb",
"x4U2wDWUfCfo07/v1Pqu3+7MnT+9Vhe72357BNp+88nQFiE/ha2ARTXWyb81qlazb7/5410R+/Q9/Pey",
"/rCP3iac2Xug/8UQZ7yJAMkHno5s1eUIZxDhIefN/fYW20WSHfkczM7+8n6mYTwOFCJWfEZ7OBtic5Wt",
"abiC3yIaDJJKZngwNNmkdJPCwpV+3dW7ZpVH67l+yyu5PEsMpXJYAsELSi3JOazJ1Y4JZFcSl2aTTJZd",
"vRqZPt81N72PMf7+JgqvKNjqGr0zMEqNLEOwP38GnvUHyy59ynF4QzcspB02aLfJ82gmrTP0vIHPndo1",
"csmfgvYXc6CXaC6n1aSpD4/QN4+/GYP5nPI6pdiZDugxQ91H3GVxr9U7tZy+0t5QSHfyf4WbjPfllVwK",
"6fkvCEvbYLAOJpYXf6OM9/juBIb421y8jFniUE1n7Q4CyMhFgHRnF0o6dJ+5VMn8h/2Q7t+IP/+/b14s",
"3v78ny9+wkEyoyDH+pXg/uKdWmZA//QMEHUOw3xu7qcb+Q1KElPUKG4flVB6p8Niifn7vDj5JsYAeFQB",
"gebsUjeNqoWO4sgfP9l8M0LWn+RPlnzKGLW0j6eOI910iBX95BJcKBpVrzntBZMQVpX8IcqE3Wc+dRVV",
"PXBmb9DdpHAe/I2h81Bi1qmAshfs3ZUcwam4t37W2LYW0APpl68xbLdLE68H2uDQ+owcPYv0rh6RJw4o",
"6HoZM/zniknLOSzgPjEdBzgK07+dgqCqPwHlwiCmlXJQ4IR/9pmXUg6bhrNiOLUMFpSChqsMDa4kvKYq",
"okvrf2B6DRGkQ3cEJjiUwSRq62GD5uKcaih3Zd8jfg5ydMFXiIbjjfw+buRbXtTtpFqY7CdhYaRbbvTV",
"fbEp3Y7djlWZkKInNldAMEFhd1EztbLu9hv8dLlUu8CJd6qP2ujXbWmjjzm1d9zjux1XLHB7ByyIxxUz",
"VvjJY0lKoRP0ZqSmc4GqFPyD6mdpDrZUvz8RtQwyis4vrrgO2P88//mnOf0ZyzL8KH04wScnL5+Lh0yD",
"6d3vrXI3IiHpI4zwRU7uprslMPdMnNGvVGoI1bsVVaxBSySH1Soe2SnhkXlEPrVRsv6/EKPjF7HDPJAI",
"/ewaLG5E1Yd4GdgF2C+vjXJibbkPSwNj0bACt0M1cqmLWfkg0pXSHcUepGZVCaum8w5znwjRrstkdP74",
"rrL6gpNUYeJTAGrpu+SqA+TkAGkF6YJQ+ISyeffP3UFKSihKn37EIdLmwr6bPEMv4S1GtPiBC4r4TjeB",
"+AfnmGmxRvEJCLbny4a+xIzR4IBWwq8ftQ843ARyDbagl/ni1hv4EXsf3R2OY2xwRVyW9gik+ATGAhxx",
"IrZuhESvZFiymKO2PpmytUvh4X4unpOHKEZZYX42bDwfYdEpCdQnqDielvy+11eky0y1h6O/sJAcf9NJ",
"52AOAkcommNMUsf5UmMVKhYPo9U5PqViX3kNM3hNGallEweAcORirba3sTonKB84zh9S6UQS22Vklg1m",
"5+oW1GViiGAcJj1Izig8i1LGBppCmm/MMNiaYFuQ3sE3gVwQyFk/gRHpOCXdjVOqOoCLWsEN1HNpSECj",
"eaZYuR6UyeGhKApTYbCnuPH3IyEgWsfi1pw+5DPrVjFh+QRPGxHlLorVx9/eqvV/3JXKn/YgUz6cT1kn",
"lpfbI9qgyQcFy0KjLXIuYmOHGrRe/VRoGlVn6ACNMVpU+QYwzGQJELNwAadEayLOlhCNMKCOF8U9Y1p9",
"H3qXT0/FAQE5civR5q8XC9/DFA8YA7rl36OSK4NxGaYw0U7F3t2I9yO4Eljupl/vQ/a01h4OKR7zexm3",
"miAfz2lgNc7l2t01eLrpPicVFnotJuJhLKW6d6zThagMKhgKPdROXXPhgljEzmC+8aZ+wl2nJCNR4CY1",
"mQzdXEDmaUOJvvACOvrypXCPt5BP9PxzHdGt2ncsX6n7dYRQblLRnCXG6Ds9lLwTeJ734ZKQYqA+uz+C",
"codoPwPnrurPrTqNwX7TDiXXWTBLvikYk3Qtb+aCQgPh9yA0kLxMOmbfJHbhMumuS9GBlQiKBtIB039r",
"sO5g9J+nnG7NTSo+jDa+1hlubs1UZCLz7ECkppxcngI07geRsOv/kihU8K3af5wf+IEfDSV80J4Nu4BF",
"rCN9wSFwjpKuxQTv6AbTVdPBKDwd5rHDOXWPmf/5CWY5iElvPeJXjn7RoGJXMdHClMbiHLr+VF5ix8X0",
"ZCMeyxyO/JQ+fOhu8IExGUWr3iD3cwLyIeD355bm+nA8Am6f5licvudfzAETJo734Tk+H+3DIbU6fVbf",
"E4uapn5H00qJyH61qPb4nwjV7qr93apTjv8+SRE503d/6EXcD2j4ngD80razUvEVR53fx7b3hvgvedeu",
"7HK/U/Z32OAe10kDFBb6a8zYMkATp9ebIHbSKPLE3+fBHJ0iumxfVJAuumF1fT1Ipf0qDrp3IsiLojND",
"B5NPj3IZOD4frk3uQeb0iZjyOckKmMgOWWgLnCB8xlxZ3+BUYSglBVVeb2xDNZ+wahVWOELzaywF5f/9",
"mwdhk1c3yAwA/NOr39F4m73hUORYNVWZ+FJ7TovzaC5eS0wItrwEtnQnfaokhdNMxmXoXsYYsCnu8Ucl",
"670W1YHtiXr7ROZPrmnbdbWV7ygz5p8eP67258n87R7RGQHyGlMNjFH6F4zQwbnzvw/5AhN/egzFoJrW",
"o0smvOSyMl3lncKOzkt4Gz1G93jko7Npcr6PpqMSNnONhVRcR9LjWB+5kNuRRehUSTMvDQQP46BcKo6q",
"c7LiHROYgOMqIn8B717Rxz+SCfs+iCCPcBsjzR8+nWAN0OZK1lM0sQf/HKDXAMRghXUJtlgK+GPuaEQo",
"Y4OapoNTd2WHPlyvA2vGYRlV9hO84bx5fdN8WiMVdsUCGpkae4tR2THHxFrBkm3j55Mk6idL9bXvX7iN",
"ox0r2CJc55MQP30P/x0laaWRv7yURXO+myEgLp+x+/Z3b6z1SJ8PMesplc0gp3X4CXDgYoKmjvw/JbZ9",
"F6Yx6lx9xvDJPkk4UmPCExziVp5Cyx/SlIKbOchCSeuYldfDy6uiys0UmeBkUJSgD4+6Xt0UlKyG3TPQ",
"tkIu7HBRTUlZ4wxi90PyS5nK/gvKWyBqnCSha6/MkuvJSXbRVEgT9lKbgfxCeuvsmxvKDtYavNcxEgVe",
"5bzBDZrLsy51qDqegUt+SiMgpzWpwpubOPJS+lhnAm8SaxtB67goIdO5Cq+lUfcpOXX9f0EH8K065UpE",
"JxgYuzfemRq+wXYfidmyrjWlVnjdy09wTI21cXz/uMwV+mfkVcZHhAX4C4d4w5wzrU7YFeHURq835L3+",
"O7br0UUWvafBBWT/dWz0WSLmabBjqP3Tpom6g2M047HnezoF1PuX8W9KQJt2cWJAfcQRi6A+fc+/DniC",
"5PC+p7vjwLr7a/7UzF6Cwt34vRI4T2Vb63CSF0O6t3lUB9TFOJWs0hIm5L9xnCqTb6Ou3ls51/sDVCkr",
"H7iGW0wNTQoAHAJsdau5oDsgKQPnfPVXOXcqDX3SFZPsdR6rcG9kjQGXyckyNe/8mrGyjXUQrWG3cSKY",
"AMlXscTiWodeGYXRzfoUPssKEd0jXUmjfGbu7MAJiwzaXanLXdWUxcNDKVK/jtMzyAEbk6jDQz9AxejA",
"67tYYlQDoZ+l6Z+Y2MO+I1NEVaqc+9+4+rXgKhrZ9nJdb7HF52C5yDv6OOm6Q1uuDcsUmLObfk0X7ZSn",
"I7FovSqMWZ3QVGozHcZuycP6odheh00sD5nqAfqoOrauX/2wootHYRbo1lBAggzZe0pum9fjxV5pOrro",
"+UgLwl28n3Od1f3813PcP3SQuWrXpKoOjyBsdFaQC28Ia1PmwWkU0ybGsHLq5xGbjWXD7pGqYv973Kw9",
"pg/wgPderGTjVcdvFQqTGRsB8U/ElsMmdyT7i1GsWKcRY4byUueVcMgLRIMmPIsmpVQ+vcdKd/FMvbJq",
"seboIJqpY6R1o2Ia055aYiN9lwUF/Z6LgajShVT07Z5oVSpR9t8xRscSNuYqT9/TD8D4lTaATf70vTa1",
"evfhOLyP398K7aty4D6OD94h1qOGLalecYwHPjaJmd8fY8LZ8Zxw/sdMqGcjP+DVIvNCdrKunUKHfxkn",
"RQmka2vifNEV1itTd87QWU08K1b6HZbwvxF6bSwHWZSdYGiEcw5mvRdfmGyIL+MzT+LK1HEikH62ez9a",
"lE7f868Diq9osLpH+BxjK+fJ3tM1m0Bxt2u2BNNTtlAeR2vuOIGpO/Yp1XZQFOjInacC7XTlbqSp7Wol",
"Hq6tbCpMVcu2VgwthyeyFpQlphdChebDRvlHYARSHOaL2npqHLrtokRHW66ahyG9eH3E1zYrBZ/XaE/X",
"eJxkuZK8NXlmElV3SflVw2UgbFN36y9nLcNtytH8HvIK0SBfrytKhDNuY1b9+7MFfBWPEFxizrW7L3OI",
"XsQ6OFxZkVyZRgj0Mk5yklJ+3q1MQMN9TEH2X3Yne55sn3sjz2OkDnKuiOEpMUJyuYpSXka5gHimODKm",
"T4mUYj/aR6++augR93urWpWSGy9j+QoONUM30c5HDuzeYAdFHYvsPFcmUA68/ti77V/Vdw7BvxkRqq9N",
"GAlSN0aFvTqVVKkIDFIPYsU2/E4YrP3RC1+kaEIsWRRTTDLPDvo2RTXdKGbZ2GTyqYS3qUBhfu1Clsul",
"NMLrNT01mDnRZAXiNKdWkBeguzGsa8QJlm5UUOPQ23vV5PAQkx55NcASYTvv74i/9Kfv4b8DnG/SQd7b",
"CqZl7Ey+/uSJ6XDld2N0+8A7xXo9x5H0u4w6Rc9fW09ZgKgaUdJ7w2wi9aTEY2esSvKpuBD0GAMuo8My",
"X/PwCnqdKKbSc51G8kM1H4jHjq6HeFCoTXSJ6krmjAl+6fzA8t7aPyNs74e6Y98wzG3o+7dl6oVQu5ae",
"Ia06N/CvliT3cJgDaycp9IssB6/JzSzJtvIwVSevyNRRV6I19AuB0Zrg5PISnsO81BKRaL7WAdUj6hFX",
"1sIiWbAImSVv4trvJxfSp9L+eYX6mEx6WusezTZemyUzOmt9pQw5aMdl8MWDCqYunQUneMLsgF1uJpwD",
"LF2z+ii+4rJFStaHF0LpwrdYGJ3XMDVzWp+60rb1+Vg4B1wQ1m2C2bhWTd5J/vIZb/aITg7Tf/PEgo3L",
"oInw4uI+dAvql4xXbh45wRiHswFnNfGTDUI2jb2OYImLSeq+YZY32LPZrRSOT3MImbNUqZ2wRqa0JNr0",
"9044yV6fXA4S80PmFf2LE+SvZ3t1kKNJ9hDqrA/k4m5TWcr0F+0PKFSliyqNTtVvjXo0OeGgdh+bM/Ej",
"jY+MhIWr/7VyJ2gh80GGry190mdmLpb2RLZhY93+4AHUWnth+7hL13/Mpp/Esh4BD04a6k08RPfmzowk",
"Mx2TQxcsuOcxCeUoeR0l0SV3eIDCoyoVaWY6od3QBPWUSAdoyLPZrjEjIVdJVHHyueMWVAaIYFH1CXzu",
"pG7KmVIhz7J9yiD8LN6u0gW91DtpwrEeGN0mf/3cLuSE3IuKrdErrWpMHglbD5uIp/lChWulsFa39MQn",
"dl4Z697VNJ+6up7D6MdFZ0qvbmuzKvUDU/wU/fCGfHQ/tqkX3NdeoeH+Apx1o3AbptyJZFhu/rWJdq3d",
"5BGBgnBd6nK7KjHTVWqhlY8R1wEDZlPyHRPwJfxVIxeNASiNWgVh2/BEJL66ForbQgNtlk0b5ZOtdJfA",
"2D6FTdsQI9QoecVaum46YeNsu96I+ZyyB/ubbaPNZUVKEXQk2MNvPtfuEK953ki/OfEKGgUSERpJrgi2",
"Nxf0sYkOlNZx3HDifODtFM/zRU/Nc+3AA3BPIv6EFA983LF/9VOEFbg/v2aFciJn55K1IHByVQ37zyGD",
"gJzXTgeVGsdQnSpqZGPatK7+ykC1jmkPtGG9fC8OXcdIYwPCsamFTbXdpRfeWhP1PDGoPrM/xnLjzBLC",
"C1mTgC62Shr0+3kiamd3FKOPAdbIkD2J8W9DqyYEOmPyRx14FKcgoM0XNQLQCYvnMd0kdA/zjMSn+1Ck",
"uvAkkHNnpE6pIljxQ04T5tQWSiIOHJlSf9rH0bqU0BcKBk8jMVvro9eTby/gU/+ECiBhN+S7iYXq251Y",
"AZuJ1IkoatikdxP5K2Gksgr1D59NhVpx6gVaZvRHZTB8ETvn4KQfkZlkLK1w/W0IghsGRlNWkH5CEKoE",
"r36nbCGS60fA3QdptftdD+3vhFCkMIDWXK4xlqgFpKR7NQ6WFBrkGhw1rXbVezvoUgbxELryFvCP3BPg",
"lbAr/vXoCSdY4SNwqdQuhiCjuQTz6E/lNwE0uU1+k09Y3QEDqcvpTb55fO/5TY4S2xAyxwhslPQEVxT3",
"Ict68vjR1y/CgTS2p+ifU+u2kY6EtrK2dy7eggIfuT+4HUABQEdBeP0PDpx/IqhKDXYUWwpjY3nEe+c7",
"QVL5tIznAdbyVrzHvQpoz7ijiVsBduRfm7nEQqDThyDV9oUzkMJGRmIaEOlX0l3W9pq/oOwR9LEMQS43",
"WyothJhOiY5s0wYFCD2Fa0/4cnPK2+YKLhVGfFRbx7LA2nhdq96H80Gt4AorBeOUzv+f7yuxhNsDpUj1",
"LiiDvoTT5+flllwrjikA8+kPwD9rcVl/tf73d9vmi9emBdSNtWnvdNb/+K9JGVAE+vxCZwozZSKD01gE",
"HZoun5k1K+1A34OPWSWUpflBVxb2P0eBj7s50aZKMpjG2pRXOuB5h77BysSOothx0aNVGEDDpol5xP3v",
"rfSbCdFPm2BRXo4WROi27jPUgzVacygyj/X9A3NBLBVcNAgggSZTQk/R1incK7FrcRmac41BfZ9KrKBY",
"2sq6axlTXnYTW27U8hIgGWzM8mJ6gnBJAi5IvLj6OrnWcQQOvtI9YPRk2WRxTUnRojn2IYGTXO4WWHRI",
"eBUe5TFCKNQb2/WgDYyydsr74ajRHs0wG+gtSmnOaCc1qCzfxZL26IvVmqCbbuXLxmItq0EM0tibkLV6",
"abZRkId1p2p9mDSNLKAVi00syWOWHQIZP+kCQxmmqiZkhVNBfQwCSBm6VNyaWiSNEMzIX1KtKp5jEA9p",
"A4ResddYzBb4qEogjfMjQKRzWsfqPPkstekP/cOLp89jwKEydTSx2FW/GedjZLxZwCIXvEDCi25TzKOS",
"FqWD2GBbuORuth08yBCSc/FCM07jHnVM+1BZU1DCROcIe214p5EnWsTYGzguMCYj9o0KZ8MCnckXh09G",
"3kHvcGxlrSrSpWkfCUuKBMaHtISq85Dlbvp0hXOWJgGfE4z5pI3rApz6Xgfas44my3xKlZmG0H+SaQFp",
"F0CFt4vUVeZ6DGNDFun38NvH//FItKaBs54lL8g6Z0iDXmGB0Q4PeetA1canyVgOMMzB+aga60u5Shsn",
"ypSk/WMSOYgiBZLbMbugjYS7rtHL4NOhMaKRpu4orPBWrCRfAHyT2AVOlK+b/Hp5mE0PmPX8HZZxIw+o",
"GlUsXRjGjaeaFLlOkiMl16kWKFLheJryO/OMlTOp5j2SBt7YHvpSO/jQYwV1UCo6gJ4PEjEG8zzdLFbW",
"LXDqw22NYZxDkxJPMyND5FCEzXV+tZTTk7r1x0ahl9NpYVRxNdtlj97Pcowac0g4GaKQuc67fxBvcQIz",
"NyZjr+ezauQEU83SSRhP58dIzHNkhGdRK0dIBB/3xgKa38UCjofMMHPCUxo5r875B5ue4SXQaMxeF6gY",
"y//xB7HcSCeXQTm8bYlJJWNZd67nY4mimtH78QTgA/EwO8KPzuKErAk2ZyBGPNyc74WzeFmmDwoX7xMk",
"N/37HGaqDKgJ/4ITIdlUmTD7bbiEavbuBJqeXEkH3Drw8BGdYWWv6PPsyWvu6UM5j9vnc/zfp84nwGUq",
"+wqpT4UXerD0NMu/HW9L68TDhMuPKIiccjJ/3XEDY8nsBBd3khOJmEl27FxXO3nthRREOka3VqzNyXfv",
"uKA3NHqSaHViGcfuKc+kWaoGh3kKA3Cw6xfym488EODJNYPBfP166Sirfn7hO0WK9hiYxNXvI2odFcv8",
"kSe5GfaOXyuD2GPWgn+qmtTkc3HOQ2fTyeNX8SynqktT9uKDstXkbf/yi4fuMczLMZhfOYnaEc3Yb8vc",
"WRcK6Kbe7ayPfDz9sYCmw5JbsRZX3YtggpbCtJhMvIuiyiOoKmHBdr9r4Ar/4e3b19VQLu9kYusyg/yE",
"PfF1XOvnySHK6QOOzWlFc/v6iR6KBJCSY9eGUW70wcLkpfJsv46RldGp9yHFucecUp7877kRmikf5cU1",
"MglNc5npLkYIP21N/nFHTxL/HUfeYGENZWLdbkCyEsrE+zgP2TwmtCaO83GX2VeidK7el/OZ4Obv7emw",
"7X0Kw1By3IdXXZ3YhBoUNFiUPPH+addr5cOCaUQKq4xUpCsbSx8H233L3yy4DwWlYvHDObVF0TfiXcLK",
"UuYUnvcbXN8XYLUi3Oqvn8occy0llytsWqFAuVMui3jqaXyLd8Kbz3glvLnVjfBPcyEUikUUKl1+7SUb",
"epzNRAGLr2crDuVMMP2FTMVAdpG0OkShYbsL/bwt5WQGXOnzXvOvcO9fJu3jMZx/5gH7z8HuR9J4FGFN",
"jYems8jVy2guZV1mh1cerEmqi8G9Vk6lKNtLBSgWhFMrfwp8f2mWp+/Nh+PYfVKAO3sdXWyTOkmGycK7",
"CQ6fpeguj3YsLUqA/ycg/nGqsF+n4PN5b8qQMitqbp9W70B+y5gokd2OS3l5s3S4uX/sgxgazd7sMctA",
"nxajDg8QTJtW+WEH1HZpzZVyXlKpcyTPPlibErf242uvlKmtY0NRHAb9b8kOlJGpBzlVp0DwQaZNqgWH",
"dtF9vupoCebU+KzzjnOKlosutQCuKfYvg+gKJ5azCX9n3eV5F6L83/kyDxP2rPDMvaojj8pJWS4Okwfx",
"dlVitPLsi+vV7+Bii7UvGUcaDoK3RiXjfUIrzgER1d0glmGhGYfNFZbCYrigqFbB+ej8caig00inKN1l",
"VpznvjibbITPXrHorjkoBygXC+gfJ6TFgJ/4USUau9ZG+I1qGk8FqHJP1WHluPThnA3fsdDqwEVLY8HL",
"C2dlvZSeynSoK8YJVkNbh9bufXEHb9PiPlf2+zji0QJLAsg/qz/jwcRvcYmTTv3o/MFVzxe6rkplMHul",
"0fHGu9l1TlSdehARkZNm1Ted61OaREBtJo5AnT2gaNaxgwvFuJ5Dh9MpqPMtv6c01Nz9F0tF3aH0fhT+",
"0uFc6Sidvo8/D2i2f5BmTddWtgxANtzzsbAMzNJoxw8RePzqbrq6iUiZX9XFuV1eqsCu/uQJmHnjxeu5",
"o9JOQYBMTTl1GnDPRlGLGEs068Q0GaRIuI48QNpcuv+XyoTmRuycNugFEGJ4qW3DrmWVA5ws5SH+sYEH",
"HI4TvZFozGWjlYmjoSK60JQNBDB19FbEEojp5cY2NSX7SkdE/6PzIo60QL3T0U+Z1snej9dEdWolvn38",
"+HEiFNAcMDm0PoW5Kun3Rixk+HBE0AJswF4SuzcqbSLUDXbz7p0OwyK+efzNGPHOse4+IRGApUPDnbPB",
"Lm3zrxHbU5ZgO5LzSSTy1pCO5HC96KE2EI4FM/HoEzvlQFBbBTXOijlPfomj32e11jjGVJElfh8FhPl/",
"sYCPvLjYJN+dVf3KmXCxcvYfKbgfbZQc8ltlScaAOEfX9NSRaw2XXBLWxUsDZayuUNBc/CiDckJhLTug",
"jHSD+lxFiL3VFsrk0Q5NaAGYRvYKht2jxaxfMmwMUYScSSv4+nVzcaanrjX7/TtiQMVwkwBhSAvGdV+1",
"F5q8hIEoaMNVMQIBp9MGYQgL4QVjSFAxF4K7ib1J5EPUdheAIY9aM+icH3senXiELMlWTFYBKri5+Pbx",
"t4ysXccaSBRVuCpnkP9epSJxb9p7LZSQDzNl7MOzFffhK0StiBL7rXy/plafQ2qOo7Ey5RjBGdOCJvxm",
"AY7pVGrX+S/lMkOCwOl7eDcQDwaGfnw+TbgKzD59AslEJPn2ST5UcLqyvAlLu7v5GJFg8hB8jhPwPNGM",
"qYOQbU1HYO7pPOB/n0L/GW0HGCG9a+Qyi6tDOpqcnLI1kWYe0E/75AsPFPgbEaz45vHjni98hhVRD0rY",
"0RtniCekIKHUHzoIp2A8P5hXsDgNCBXSyw1FaxuLEdug8jBE1WNNsl4gznXsvveAFkUBBMVMyW2OdEfI",
"PTDC4URYn16BMoW2n68G0YjETRgMAwaaDliTr8Zk8eHD/xoA",
}
// 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()
}