Versions in this module Expand all Collapse all v0 v0.0.7 Oct 27, 2026 v0.0.6 Oct 16, 2026 Changes in this version + type ApprovalItem struct + Deadline string + DeadlineInSeconds int64 + ID string + Kind string + Request *GrantRequest + Token *WaitingToken + type Approvals struct + APITokens int + Actor string + Count int + GrantRequests int + Items []ApprovalItem + Mine []GrantRequest + NextDeadline string type Client + func (c *Client) Approvals(ctx context.Context) (*Approvals, error) + func (c *Client) ApproveGrantRequest(ctx context.Context, id, note string, ttlMinutes int) (DecidedRequest, error) + func (c *Client) ApproveToken(ctx context.Context, id string) error + func (c *Client) DenyGrantRequest(ctx context.Context, id, note string) (DecidedRequest, error) + type DecidedRequest struct + GrantID string + Note string + Request GrantRequest + type WaitingToken struct + CreatedAt string + CreatedBy string + ID string + Name string + Prefix string + Roles []string v0.0.5 Oct 12, 2026 Changes in this version + const FileName + var ErrAuthorizeUnsupported = errors.New(...) + var ErrDenied = errors.New("the sign-in was denied") + var ErrExpired = errors.New("the code expired before it was approved") + var ErrInsecurePermissions = errors.New("hubclient: the credential file is readable by other users") + var ErrRenewUnsupported = errors.New(...) + var ErrStreamEnded = errors.New("the hub closed the log stream") + func DefaultPath() (string, error) + func IsUnauthorized(err error) bool + func NormalizeURL(raw string) (string, error) + func RenderValue(v any) string + func UserAgent() string + type APIError struct + Code string + Details map[string]any + IntervalSeconds int + Message string + Remediation string + Status int + func AsAPIError(err error) (*APIError, bool) + func (e *APIError) Detail(key string) string + func (e *APIError) Error() string + type AssignRepositoriesRequest struct + Access string + Branches []string + Replaces string + Repos []string + Secret string + TTLMinutes int + type AvailableRepository struct + FullName string + ID int64 + Private bool + type CatalogEntry struct + ID string + Kind string + Name string + type Client struct + Base string + Credential string + func New(base, caFile, credential string) (*Client, error) + func (c *Client) AddTask(ctx context.Context, idx int, title, description string) (Task, error) + func (c *Client) AdoptToken(ctx context.Context, id string, t MintedToken) (RenewedShare, error) + func (c *Client) AssignRepositories(ctx context.Context, idx int, req AssignRepositoriesRequest) (RepoAssignment, error) + func (c *Client) AuthorizeSecret(ctx context.Context, id, action string) error + func (c *Client) AvailableRepositories(ctx context.Context, idx int, secret string) ([]AvailableRepository, error) + func (c *Client) BindExecutor(ctx context.Context, idx int, executorID string) error + func (c *Client) CreateProject(ctx context.Context, req NewProjectRequest) (NewProject, error) + func (c *Client) CreateSecret(ctx context.Context, req CreateSecretRequest) (Secret, error) + func (c *Client) DashboardURL(projectPath string) string + func (c *Client) DeleteSecret(ctx context.Context, id string) error + func (c *Client) Do(ctx context.Context, method, path string, query url.Values, body, out any) error + func (c *Client) Executors(ctx context.Context) (*ExecutorList, error) + func (c *Client) Features(ctx context.Context, idx int) (*FeatureList, error) + func (c *Client) FollowLogs(ctx context.Context, idx int, w io.Writer, ev LogEvents) error + func (c *Client) GrantHarnessCredential(ctx context.Context, idx int, secret string) (*HarnessCredential, error) + func (c *Client) GrantRequests(ctx context.Context, state string, mine bool) (*GrantRequestList, error) + func (c *Client) HTTPClient() *http.Client + func (c *Client) HarnessCredential(ctx context.Context, idx int) (*HarnessCredential, error) + func (c *Client) LiveLog(ctx context.Context, idx int) (lines []string, running bool, err error) + func (c *Client) Logout(ctx context.Context) (ended bool, err error) + func (c *Client) Me(ctx context.Context) (map[string]any, error) + func (c *Client) OpenFeaturePR(ctx context.Context, idx int, slug string, req FeaturePRRequest) (*FeaturePRResult, error) + func (c *Client) PollDeviceToken(ctx context.Context, code *DeviceCode, waiting func(time.Duration)) (*DeviceToken, error) + func (c *Client) ProjectRepositories(ctx context.Context, idx int) (*ProjectRepositories, error) + func (c *Client) Projects(ctx context.Context) ([]Project, error) + func (c *Client) RenewSecret(ctx context.Context, id string) (RenewedShare, error) + func (c *Client) RequestDeviceCode(ctx context.Context, credentialHash, hostname string) (*DeviceCode, error) + func (c *Client) RequestGrant(ctx context.Context, req FileGrantRequest) (GrantRequest, error) + func (c *Client) ResolveProject(ctx context.Context, ref string) (Project, error) + func (c *Client) RevokeRepositories(ctx context.Context, idx int, grantID string) (RevokedRepositories, error) + func (c *Client) Run(ctx context.Context, idx int) (string, error) + func (c *Client) SecretCatalog(ctx context.Context) ([]CatalogEntry, error) + func (c *Client) Secrets(ctx context.Context) (*SecretsList, error) + func (c *Client) StartFeature(ctx context.Context, idx int, req StartFeatureRequest) (StartedFeature, error) + func (c *Client) Stop(ctx context.Context, idx int) (bool, string, error) + func (c *Client) Tasks(ctx context.Context, idx int) ([]Task, error) + func (c *Client) WithdrawGrantRequest(ctx context.Context, id string) (GrantRequest, error) + type CreateSecretRequest struct + Kind string + Metadata map[string]string + Name string + Payload string + Personal *bool + type DeviceCode struct + DeviceCode string + ExpiresIn int + Interval int + UserCode string + VerificationURI string + VerificationURIComplete string + type DeviceToken struct + ExpiresIn int + Identity struct{ ... } + IdleTimeout int + Revalidated bool + SessionID string + TokenType string + type Executor struct + Admitted bool + Blocked bool + BlockedReason string + Default bool + Health string + ID string + Isolation string + Kind string + Labels map[string]string + Name string + Registered bool + Restricted bool + SchedReason string + SchedState string + Schedulable bool + Status string + Virtual ... + func (e Executor) Usable() (bool, string) + type ExecutorList struct + DefaultID string + Executors []Executor + type Feature struct + DoneTasks int + FailedTasks int + Feature ... + Idx int + Name string + Path string + Running bool + Status string + TotalTasks int + type FeatureList struct + Features []Feature + Max int + Path string + Project string + type FeaturePR struct + Base string + CreatedAt time.Time + Draft bool + Head string + Number int + Repo string + State string + URL string + type FeaturePRRequest struct + Body string + Draft bool + Title string + type FeaturePRResult struct + Ahead int + Dirty []string + Existing bool + PR *FeaturePR + Pushed bool + TokenSource string + type File struct + Default string + Hubs map[string]*Hub + func Load(path string) (*File, error) + func LoadForRevocation(path string) (*File, error) + func (f *File) Lookup(rawURL string) (*Hub, bool) + func (f *File) Put(h *Hub) + func (f *File) Remove(url string) + func (f *File) Save(path string) error + func (f *File) URLs() []string + type FileGrantRequest struct + Branches []string + Contexts []string + EnvKeys []string + Hosts []string + Justification string + Namespaces []string + Permissions []string + Registries []string + Repos []string + Scope string + SecretRef string + Subject string + TTLMinutes int + WaitMinutes int + Writable bool + type GitProxyStatus struct + PushRefs []string + Required bool + Running bool + type GrantRequest struct + Approvers []string + Constraints string + CreatedAt time.Time + Decidable bool + DecidedAt time.Time + DecidedBy string + DecisionNote string + ExpiresAt time.Time + GrantExpiresAt time.Time + GrantID string + ID string + Justification string + Kind string + Mine bool + RequestedBy string + Scope string + SecretID string + SecretName string + State string + Subject string + TTLMinutes int + type GrantRequestList struct + Actor string + CanDecide bool + PendingCount int + Requests []GrantRequest + type HarnessCandidate struct + Complete bool + Granted bool + ID string + Keys []string + Mine bool + Name string + Owner string + Personal bool + type HarnessCredential struct + Applies bool + BrokerUnavailable string + CanPaste bool + Candidates []HarnessCandidate + ExpiresAt *time.Time + Granted ... + Needed [][]string + Provider string + Reason string + Remedy string + SatisfiedBy *HarnessGrant + State string + type HarnessGrant struct + ExpiresAt *time.Time + GrantID string + Keys []string + Owner string + SecretID string + SecretName string + type Hub struct + CAFile string + Client string + Credential string + Email string + ExpiresAt time.Time + Name string + SessionID string + SignedInAt time.Time + Subject string + URL string + func Login(ctx context.Context, opts LoginOptions) (*Hub, error) + func (h *Hub) Label() string + func (h *Hub) LoginNotes() (revalidated bool, idle time.Duration) + type LogEvents struct + RunState func(running bool) + type LoginOptions struct + CAFile string + Hostname string + HubURL string + OpenBrowser func(url string) error + Out io.Writer + type MintedToken struct + CASHA256 string + Server string + Token string + type NewProject struct + Dir string + Idx int + type NewProjectRequest struct + Dir string + Effort string + ExecutorID string + Goal string + Grants []ProjectGrant + Model string + Name string + Provider string + type Project struct + ActiveTasks int + DoneTasks int + FailedTasks int + Goal string + Hidden bool + Idx int + Name string + Path string + Running bool + Status string + TotalTasks int + type ProjectGrant struct + Branches []string + Contexts []string + EnvKeys []string + Hosts []string + Namespaces []string + Permissions []string + Registries []string + Repos []string + Scope string + SecretRef string + TTLMinutes int + Writable bool + type ProjectRepositories struct + Apps []RepoApp + Assignments []RepoAssignment + GitProxy GitProxyStatus + Project string + type RenewedShare struct + ExpiresAt time.Time + ID string + IssuedAt time.Time + Name string + Renewal string + Renewals int + ServiceAccount string + Sessions int + Verified bool + type RepoApp struct + ID string + Name string + type RepoAssignment struct + Access string + BranchEnforcement string + Branches []string + CreatedAt time.Time + CreatedBy string + ExpiresAt time.Time + GrantID string + Kind string + Replaceable bool + Repos []string + SecretID string + SecretName string + type RevokedRepositories struct + GrantID string + Leases int + Note string + State string + type Secret struct + ActiveGrants int + CreatedAt time.Time + CreatedBy string + Grants int + ID string + Kind string + Metadata map[string]string + Mine bool + Name string + Owner string + Personal bool + type SecretsList struct + Broker struct{ ... } + KubeGuard struct{ ... } + Secrets []Secret + func (l *SecretsList) FindSecret(name string) (Secret, bool) + type StartFeatureRequest struct + AutoEvolve bool + AutoPR bool + Base string + Description string + Innovate bool + MaxParallel int + Name string + Parallel bool + Tasks []string + type StartedFeature struct + Base string + Branch string + Idx int + Path string + Slug string + type Task struct + Description string + ID int + Priority int + Status string + Title string