Versions in this module Expand all Collapse all v0 v0.1.0 Jun 3, 2026 Changes in this version + const CredentialField + const CredentialIdentity + const CredentialKindKey + const CredentialSecret + const CurrentAPIVersion + const DefaultPageLimit + const MaxPageLimit + const SchemaContextProtocol + const SchemaContextTransport + const ScopeSeparator + var ErrAlreadyExists = errors.New("already exists") + var ErrConflict = errors.New("conflict") + var ErrForbidden = errors.New("forbidden") + var ErrInvalidInput = errors.New("invalid input") + var ErrNotFound = errors.New("not found") + var ErrNotSupported = errors.New("not supported") + var ErrUnauthorized = errors.New("unauthorized") + var ErrUnavailable = errors.New("unavailable") + func CredentialIdentityKey(field string) string + func CredentialKindSupportsProtocol(kind CredentialKind, protocol string) bool + func CredentialResolvedKindKey(field string) string + func CredentialSecretKey(field string) string + func FilterRows[R ~map[string]any](rows []R, term string) []R + func SortRows[R ~map[string]any](rows []R, keys []SortKey) []R + func ValidRecordingPolicy(p RecordingPolicy) bool + func Validate(m Manifest, routes []Route) error + func ValidateWithCredentialKinds(m Manifest, routes []Route, existing CredentialKindCatalog) error + type Action struct + Config PanelConfig + Confirm bool + ConfirmText string + EnabledWhen *Condition + Group string + ID string + Icon Icon + IconOnly bool + Label string + OnSuccess *ActionSuccess + Open OpenTarget + Panel PanelType + Params map[string]string + RouteID string + type ActionSuccess struct + Navigate NavigateTarget + SelectTab string + type AgentMode string + const AgentHTTP + const AgentHostMonitor + const AgentTCP + const AgentUnix + type AgentProfile struct + Install []InstallArtifact + Proxy ProxyTarget + type ArtifactConnectURL struct + LocalhostHost string + type ArtifactDelivery string + const DeliveryInline + const DeliveryURL + type AuditHook func(ctx context.Context, result models.AuditResult, params map[string]string, ...) + type Badge struct + Severity Severity + Source *DataSource + Value any + type Capability string + type Category string + const CategoryCloud + const CategoryContainers + const CategoryDatabases + const CategoryDevOps + const CategoryFiles + const CategoryMessaging + const CategoryNetwork + const CategoryObservability + const CategoryOrchestration + const CategoryOther + const CategoryRemoteDesktop + const CategorySearch + const CategorySecurity + const CategoryShell + const CategoryVirtualization + type CategoryInfo struct + Icon Icon + Key Category + Label string + Order int + func CategoryLookup(category Category) (CategoryInfo, bool) + type Channel interface + Kind func() StreamKind + type ChannelRequest struct + Kind StreamKind + Params map[string]string + type ClientStream interface + Context func() context.Context + type CodeEditorConfig struct + InitialContent string + Language string + SaveBodyKey string + SaveExtra map[string]any + SaveMethod Method + SaveParams map[string]string + SaveRouteID string + type Column struct + Key string + Label string + Nullable bool + Precision *int + ReadOnly bool + Severities map[string]Severity + Sortable bool + Type ColumnType + Width string + type ColumnType string + const ColumnBadge + const ColumnBool + const ColumnBytes + const ColumnDateTime + const ColumnIcon + const ColumnJSON + const ColumnNumber + const ColumnPercent + const ColumnText + type Condition struct + AllOf []Rule + AnyOf []Rule + type ConnectConfig struct + Config map[string]any + ConnectionID string + Net NetTransport + Transport Transport + func (c ConnectConfig) CredentialIdentityFor(field string) string + func (c ConnectConfig) CredentialKindFor(field string) CredentialKind + func (c ConnectConfig) CredentialSecretFor(field string) string + func (c ConnectConfig) Int(key string) (int, bool) + func (c ConnectConfig) String(key string) string + type CredentialKind string + const CredentialAPIToken + const CredentialBasicAuth + const CredentialBearerToken + const CredentialCloudAccessKey + const CredentialDBPassword + const CredentialTLSClientCert + type CredentialKindCatalog interface + CredentialKindLookup func(kind CredentialKind) (CredentialKindInfo, bool) + CredentialKindSupportsProtocol func(kind CredentialKind, protocol string) bool + CredentialKinds func() []CredentialKindInfo + type CredentialKindInfo struct + CompatibleProtocols []string + IdentityLabel string + Kind CredentialKind + Label string + SecretLabel string + SecretMultiline bool + func BuiltInCredentialKinds() []CredentialKindInfo + func CredentialKindLookup(kind CredentialKind) (CredentialKindInfo, bool) + func CredentialKinds() []CredentialKindInfo + type CredentialSelector struct + Kinds []CredentialKind + Protocols []string + Required bool + type DashboardConfig struct + Cells []Panel + type DataSource struct + Method Method + Params map[string]string + RouteID string + type DetailView struct + DefaultTab string + Header HeaderSpec + Tabs []Panel + type Download struct + Body io.ReadCloser + Inline bool + MIME string + ModTime time.Time + Name string + OpenRange func(offset, length int64) (io.ReadCloser, error) + Seeker io.ReadSeekCloser + Size int64 + type Field struct + AddLabel string + Credential *CredentialSelector + Default any + Fields []Field + Help string + Item *Field + ItemLabel string + Key string + KeyLabel string + KeyPlaceholder string + Label string + MaxItems int + MinItems int + Options []Option + OptionsSource *DataSource + Placeholder string + Required bool + Secret bool + Step any + Type FieldType + Validators []Validator + VisibleWhen *Condition + type FieldType string + const FieldArray + const FieldAutocomplete + const FieldCredentialRef + const FieldDuration + const FieldEmail + const FieldFile + const FieldJSON + const FieldMap + const FieldMultiSelect + const FieldNumber + const FieldObject + const FieldPassword + const FieldRadio + const FieldSelect + const FieldSlider + const FieldStepper + const FieldTel + const FieldText + const FieldTextarea + const FieldToggle + const FieldURL + type FileBrowserConfig struct + ArchiveRouteID string + ChmodRouteID string + CopyRouteID string + DeleteRouteID string + DownloadRouteID string + MaxUploadBytes int64 + MkdirRouteID string + MoveRouteID string + MultipleUpload bool + PathParam string + ReadRouteID string + RenameRouteID string + UploadFieldName string + UploadRouteID string + Writable bool + WriteRouteID string + type FilterOption struct + Label string + Value string + type FormPanelConfig struct + Params map[string]string + SubmitLabel string + SubmitMethod Method + SubmitRouteID string + type GraphConfig struct + ExpandParam string + ExpandRouteID string + FitView bool + Layout GraphLayout + type GraphLayout string + const GraphLayoutGrid + const GraphLayoutManual + type Group struct + Fields []Field + Name string + type HTTPClientConfig struct + DefaultBody string + DefaultHeaders []HeaderDefault + DefaultMethod string + DefaultURL string + ExecuteRouteID string + Methods []string + type HTTPProxy interface + ServeHTTPProxy func(w http.ResponseWriter, r *http.Request) + type Handler func(rc *RequestContext) (any, error) + type HeaderDefault struct + Key string + Value string + type HeaderSpec struct + Severities map[string]Severity + StatusField string + Title string + type Icon struct + Type IconType + Value string + type IconType string + const IconBase64 + const IconEmoji + const IconLucide + const IconSVG + const IconURL + type InstallArtifact struct + ConnectURL ArtifactConnectURL + Content string + Delivery ArtifactDelivery + Filename string + Kind string + Label string + Template string + type KVConfig struct + CreateRouteID string + DeleteRouteID string + KeyParam string + ReadRouteID string + ValueTypes []string + Writable bool + WriteRouteID string + type Layout string + const LayoutDashboard + const LayoutSidebarTree + const LayoutSingle + const LayoutTabs + type Manifest struct + APIVersion int + Actions []Action + Agent *AgentProfile + Capabilities []Capability + Category Category + Config Schema + CredentialKinds []CredentialKindInfo + Description string + HeaderActions []string + Icon Icon + Layout Layout + Name string + Recording []RecordingCapability + Resources []ResourceType + Scope []ScopeFilter + Streams []Stream + SupportedTransports []Transport + Tabs []Panel + Title string + Tree []TreeGroup + Version string + func (m Manifest) Recordable() bool + func (m Manifest) RecordingClassFor(streamID string) (RecordingCapability, bool) + func (m Manifest) StreamByRoute(routeID string) (Stream, bool) + func (m Manifest) SupportsRecordingClass(class RecordingClass) bool + func (m Manifest) SupportsTransport(t Transport) bool + type Method string + const MethodDelete + const MethodGet + const MethodPatch + const MethodPost + const MethodPut + const MethodWS + type MetricGauge struct + Key string + Label string + Max float64 + Unit string + type MetricSeries struct + Key string + Label string + Unit string + type MetricStat struct + Key string + Label string + Unit string + type MetricsConfig struct + Gauges []MetricGauge + History int + Series []MetricSeries + Stats []MetricStat + type NavigateTarget string + const NavigateList + type NetTransport interface + DialContext func(ctx context.Context, network, addr string) (net.Conn, error) + HTTP func() (baseURL string, rt http.RoundTripper, ok bool) + type OpenTarget string + const OpenDialog + const OpenDock + const OpenURL + const OpenView + type Operator string + const OpEmpty + const OpEq + const OpIn + const OpNeq + const OpNin + const OpNotEmpty + type Option struct + Label string + Value any + type Page struct + Items []T + NextCursor string + Total *int + type PageRequest struct + Cursor string + Filter map[string]string + Limit int + Sort []SortKey + func (p PageRequest) Search() string + type Panel struct + Config PanelConfig + Icon Icon + Key string + Label string + Source *DataSource + Span int + Type PanelType + type PanelConfig interface + type PanelType string + const PanelCodeEditor + const PanelDashboard + const PanelDocument + const PanelEnroll + const PanelFileBrowser + const PanelForm + const PanelGraph + const PanelHTTPClient + const PanelKV + const PanelLogStream + const PanelMetrics + const PanelQueryEditor + const PanelRemoteDesktop + const PanelTable + const PanelTerminal + const PanelTrace + type Plugin interface + Connect func(ctx context.Context, cfg ConnectConfig) (Session, error) + Manifest func() Manifest + Routes func() []Route + type ProjectedAction struct + Config PanelConfig + ConfirmText string + EnabledWhen *Condition + Group string + ID string + Icon Icon + IconOnly bool + Input *Schema + Label string + Method Method + OnSuccess *ActionSuccess + Open OpenTarget + Panel PanelType + Params map[string]string + RequiresConfirm bool + Risk RiskLevel + RouteID string + type ProjectedAgentProfile struct + Modes []string + RiskNote string + type ProjectedRecording struct + Authoritative bool + Class RecordingClass + Formats []RecordingFormat + InputCapture bool + type Projection struct + APIVersion int + Actions []ProjectedAction + Agent *ProjectedAgentProfile + Capabilities []Capability + Category CategoryInfo + Config Schema + CredentialKinds []CredentialKindInfo + Description string + HeaderActions []string + Icon Icon + Layout Layout + Name string + Recording []ProjectedRecording + Resources []ResourceType + Scope []ScopeFilter + Streams []Stream + SupportedTransports []Transport + Tabs []Panel + Title string + Tree []TreeGroup + Version string + func BuildProjection(m Manifest, routes map[string]Route) Projection + type ProxyTarget struct + Address string + CAFile string + Forward bool + Mode AgentMode + Risk RiskLevel + TokenFile string + type QueryEditorConfig struct + CancelLabel string + CancelParams map[string]string + CancelRouteID string + CompletionParams map[string]string + CompletionRouteID string + EmptyText string + ExecuteLabel string + Exportable bool + InitialQuery string + Label string + Language string + RunningLabel string + type RecordingCapability struct + Authoritative bool + Class RecordingClass + Formats []RecordingFormat + InputCapture bool + StreamIDs []string + func (c RecordingCapability) DefaultFormat() RecordingFormat + func (c RecordingCapability) SupportsFormat(f RecordingFormat) bool + type RecordingClass string + const RecordingDesktop + const RecordingTerminal + type RecordingFormat string + const FormatAsciicastV2 + const FormatWebMCanvas + type RecordingPolicy string + const PolicyAuto + const PolicyDisabled + const PolicyManual + type Registry struct + func NewRegistry() *Registry + func (r *Registry) All() []Plugin + func (r *Registry) CredentialKindLookup(kind CredentialKind) (CredentialKindInfo, bool) + func (r *Registry) CredentialKindSupportsProtocol(kind CredentialKind, protocol string) bool + func (r *Registry) CredentialKinds() []CredentialKindInfo + func (r *Registry) Get(name string) (Plugin, bool) + func (r *Registry) Manifest(name string) (Manifest, bool) + func (r *Registry) MustRegister(p Plugin) + func (r *Registry) Projection(name string) (Projection, bool) + func (r *Registry) Register(p Plugin) error + func (r *Registry) Route(plugin, routeID string) (Route, bool) + func (r *Registry) Summaries() []Summary + type RemoteDesktopConfig struct + Audio bool + Clipboard bool + RepeaterID string + Resize bool + type RequestContext struct + Ctx context.Context + Session Session + Snippets SnippetStore + User models.User + func NewMultipartRequestContext(ctx context.Context, user models.User, sess Session, params map[string]string, ...) *RequestContext + func NewRequestContext(ctx context.Context, user models.User, sess Session, params map[string]string, ...) *RequestContext + func (rc *RequestContext) Audit(result models.AuditResult, params map[string]string, err error) + func (rc *RequestContext) Bind(dst any) error + func (rc *RequestContext) Page() (PageRequest, error) + func (rc *RequestContext) Param(name string) string + func (rc *RequestContext) ParamList(name, sep string) []string + func (rc *RequestContext) Query() url.Values + func (rc *RequestContext) UploadFields() []string + func (rc *RequestContext) Uploads(field string) []UploadedFile + func (rc *RequestContext) ValidateSchema(schema *Schema) error + func (rc *RequestContext) WithAuditHook(hook AuditHook) *RequestContext + func (rc *RequestContext) WithSnippets(snippets SnippetStore) *RequestContext + type ResourceActions struct + Detail []string + Row []string + Selectable bool + Toolbar []string + type ResourceEvent struct + Ref ResourceRef + Resource any + Type string + type ResourceRef struct + Kind string + Name string + Namespace string + Scope string + UID string + type ResourceType struct + Actions ResourceActions + Columns []Column + ColumnsSource *DataSource + Detail DetailView + Kind string + List DataSource + Title string + Watch *DataSource + type RiskLevel string + const RiskDestructive + const RiskPrivileged + const RiskSafe + const RiskWrite + type Route struct + AuditEvent string + Handle Handler + ID string + Input *Schema + Method Method + Path string + Permission string + Risk RiskLevel + Stream StreamHandler + Timeout time.Duration + func (r Route) IsStream() bool + type RowClickAction string + const RowClickDetail + const RowClickNavigate + const RowClickNone + const RowClickSelect + type Rule struct + Field string + Op Operator + Value any + type Schema struct + Groups []Group + func (s Schema) Defaults() map[string]any + func (s Schema) HasFileField() bool + func (s Schema) ValidateValues(values map[string]any, uploaded map[string]bool) error + func (s Schema) ValidateValuesWithContext(values map[string]any, uploaded map[string]bool, context map[string]any) error + func (s Schema) ValuesWithDefaults(values map[string]any) map[string]any + func (s Schema) VisibleSecretKeys(values map[string]any, context map[string]any) []string + func (s Schema) VisibleValues(values map[string]any, context map[string]any) map[string]any + type ScopeControl string + const ScopeMultiSelect + const ScopeSearch + const ScopeSelect + const ScopeToggle + type ScopeFilter struct + AllLabel string + Control ScopeControl + DefaultValue string + Icon Icon + Label string + LabelField string + Options []FilterOption + OptionsSource *DataSource + Param string + ValueField string + type Session interface + Close func() error + HealthCheck func(ctx context.Context) error + OpenChannel func(ctx context.Context, req ChannelRequest) (Channel, error) + type Severity string + const SeverityDanger + const SeverityInfo + const SeveritySecondary + const SeveritySuccess + const SeverityWarn + type SnippetStore interface + Create func(ctx context.Context, s *models.Snippet) error + Delete func(ctx context.Context, id string) error + Get func(ctx context.Context, id string) (models.Snippet, error) + ListByOwner func(ctx context.Context, ownerID, protocol string) ([]models.Snippet, error) + Update func(ctx context.Context, s *models.Snippet) error + type SortKey struct + Desc bool + Field string + type Stream struct + ID string + Kind StreamKind + RouteID string + type StreamHandler func(rc *RequestContext, client ClientStream) error + type StreamKind string + const StreamDesktop + const StreamFile + const StreamLogs + const StreamMetrics + const StreamTerminal + type Summary struct + Category CategoryInfo + Description string + Icon Icon + Name string + Title string + type TableConfig struct + ActionIDs []string + Columns []Column + ColumnsSource *DataSource + DefaultSort *SortKey + Delete *DataSource + Editable bool + EmptyText string + Exportable bool + HiddenColumns []string + Insert *DataSource + RefreshIntervalMs int + RowActionIDs []string + RowClick RowClickAction + RowKey []string + Selectable bool + StagedEdits bool + Update *DataSource + Watch *DataSource + type TerminalConfig struct + Search bool + Zoom bool + type TraceConfig struct + ServiceField string + type Transport string + const TransportAgent + const TransportDirect + type TreeGroup struct + Badge *Badge + Icon Icon + Key string + Label string + Ref *ResourceRef + ResourceKind string + Source DataSource + type TreeNode struct + Badge *Badge + ChildrenSource *DataSource + Data map[string]any + Icon Icon + Key string + Label string + Leaf bool + ListParams map[string]string + Ref *ResourceRef + ResourceKind string + type UploadedFile struct + Field string + Filename string + Header textproto.MIMEHeader + Size int64 + func NewUploadedFile(field string, header *multipart.FileHeader) UploadedFile + func (f UploadedFile) Open() (multipart.File, error) + type Validator struct + Message string + Type ValidatorType + Value any + type ValidatorType string + const ValidatorMax + const ValidatorMin + const ValidatorOneOf + const ValidatorRegex