Documentation
¶
Index ¶
- Constants
- func ExtractTeamEnvFile(tags map[string]string) string
- func MergeEnvironmentVariables(cfg EnvMergeConfig) (map[string]string, error)
- type AgentAPIStatus
- type AgentSession
- type AuthInfoHandlers
- type AuthStatusResponse
- type AuthType
- type AuthTypesResponse
- type EnvMergeConfig
- type NotificationHandlers
- func (h *NotificationHandlers) DeleteSubscription(c echo.Context) error
- func (h *NotificationHandlers) GetHistory(c echo.Context) error
- func (h *NotificationHandlers) GetSubscriptions(c echo.Context) error
- func (h *NotificationHandlers) Subscribe(c echo.Context) error
- func (h *NotificationHandlers) Webhook(c echo.Context) error
- type OAuthCallbackRequest
- type OAuthLoginRequest
- type OAuthLoginResponse
- type OAuthSession
- type OAuthSessionResponse
- type OAuthTokenResponse
- type Proxy
- type RepositoryInfo
- type ScriptTemplateData
- type SessionMonitor
- type SessionSnapshot
- type SessionStatus
- type StartRequest
- type StartupConfig
- type StartupManager
Constants ¶
const ( ScriptWithGithub = "agentapi_with_github.sh" ScriptDefault = "agentapi_default.sh" )
Variables ¶
This section is empty.
Functions ¶
func ExtractTeamEnvFile ¶ added in v1.48.0
ExtractTeamEnvFile extracts the env_file value from tags
func MergeEnvironmentVariables ¶ added in v1.48.0
func MergeEnvironmentVariables(cfg EnvMergeConfig) (map[string]string, error)
MergeEnvironmentVariables merges environment variables from multiple sources with the following priority (highest to lowest): 1. Request environment variables 2. Team/organization specific environment file (from tags["env_file"]) 3. Auth team environment file (from team_role_mapping) 4. Role-based environment variables
Types ¶
type AgentAPIStatus ¶ added in v1.62.0
type AgentAPIStatus struct {
Status string `json:"status"` // "stable" or "running"
}
AgentAPIStatus represents the response from agentapi /status endpoint
type AgentSession ¶
type AgentSession struct {
ID string
Port int
Process *exec.Cmd
Cancel context.CancelFunc
StartedAt time.Time
UserID string
Status string
Environment map[string]string
Tags map[string]string
// contains filtered or unexported fields
}
AgentSession represents a running agentapi server instance
type AuthInfoHandlers ¶ added in v1.9.1
type AuthInfoHandlers struct {
// contains filtered or unexported fields
}
func NewAuthInfoHandlers ¶ added in v1.9.1
func NewAuthInfoHandlers(cfg *config.Config) *AuthInfoHandlers
func (*AuthInfoHandlers) GetAuthStatus ¶ added in v1.9.1
func (h *AuthInfoHandlers) GetAuthStatus(c echo.Context) error
func (*AuthInfoHandlers) GetAuthTypes ¶ added in v1.9.1
func (h *AuthInfoHandlers) GetAuthTypes(c echo.Context) error
type AuthStatusResponse ¶ added in v1.9.1
type AuthStatusResponse struct {
Authenticated bool `json:"authenticated"`
AuthType string `json:"auth_type,omitempty"`
UserID string `json:"user_id,omitempty"`
Role string `json:"role,omitempty"`
Permissions []string `json:"permissions,omitempty"`
GitHubUser *auth.GitHubUserInfo `json:"github_user,omitempty"`
}
type AuthTypesResponse ¶ added in v1.9.1
type EnvMergeConfig ¶ added in v1.48.0
type EnvMergeConfig struct {
RoleEnvFiles *config.RoleEnvFilesConfig
UserRole string
TeamEnvFile string // From tags["env_file"]
AuthTeamEnvFile string // From team_role_mapping
RequestEnv map[string]string
}
EnvMergeConfig contains configuration for environment variable merging
type NotificationHandlers ¶ added in v1.59.0
type NotificationHandlers struct {
// contains filtered or unexported fields
}
NotificationHandlers handles notification-related HTTP requests
func NewNotificationHandlers ¶ added in v1.59.0
func NewNotificationHandlers(service *notification.Service) *NotificationHandlers
NewNotificationHandlers creates new notification handlers
func (*NotificationHandlers) DeleteSubscription ¶ added in v1.59.0
func (h *NotificationHandlers) DeleteSubscription(c echo.Context) error
DeleteSubscription handles DELETE /notification/subscribe
func (*NotificationHandlers) GetHistory ¶ added in v1.59.0
func (h *NotificationHandlers) GetHistory(c echo.Context) error
GetHistory handles GET /notifications/history
func (*NotificationHandlers) GetSubscriptions ¶ added in v1.59.0
func (h *NotificationHandlers) GetSubscriptions(c echo.Context) error
GetSubscriptions handles GET /notification/subscribe
type OAuthCallbackRequest ¶ added in v1.9.1
OAuthCallbackRequest represents the OAuth callback parameters
type OAuthLoginRequest ¶ added in v1.9.1
type OAuthLoginRequest struct {
RedirectURI string `json:"redirect_uri"`
}
OAuthLoginRequest represents the request body for OAuth login
type OAuthLoginResponse ¶ added in v1.9.1
OAuthLoginResponse represents the response for OAuth login
type OAuthSession ¶ added in v1.9.1
type OAuthSession struct {
ID string
UserContext *auth.UserContext
CreatedAt time.Time
ExpiresAt time.Time
}
OAuthSession represents an authenticated OAuth session
type OAuthSessionResponse ¶ added in v1.9.1
type OAuthSessionResponse struct {
SessionID string `json:"session_id"`
AccessToken string `json:"access_token"`
TokenType string `json:"token_type"`
ExpiresAt time.Time `json:"expires_at"`
User *auth.UserContext `json:"user"`
}
OAuthSessionResponse represents the response with session information
type OAuthTokenResponse ¶ added in v1.9.1
type OAuthTokenResponse struct {
AccessToken string `json:"access_token"`
TokenType string `json:"token_type"`
ExpiresAt time.Time `json:"expires_at"`
User *auth.UserContext `json:"user"`
}
OAuthTokenResponse represents the response after successful OAuth
type Proxy ¶
type Proxy struct {
// contains filtered or unexported fields
}
Proxy represents the HTTP proxy server
func (*Proxy) Shutdown ¶
Shutdown gracefully stops all running sessions and waits for them to terminate
func (*Proxy) StartMonitoring ¶ added in v1.62.0
func (p *Proxy) StartMonitoring()
StartMonitoring starts the session monitoring (called after proxy is fully initialized)
type RepositoryInfo ¶ added in v0.10.0
RepositoryInfo contains repository information extracted from tags
type ScriptTemplateData ¶ added in v0.10.0
type ScriptTemplateData struct {
AgentAPIArgs string
ClaudeArgs string
GitHubToken string
GitHubAppID string
GitHubInstallationID string
GitHubAppPEMPath string
GitHubAPI string
GitHubPersonalAccessToken string
RepoFullName string
CloneDir string
UserID string
MCPConfigs string
}
ScriptTemplateData holds data for script templates
type SessionMonitor ¶ added in v1.62.0
type SessionMonitor struct {
// contains filtered or unexported fields
}
SessionMonitor monitors session status changes and sends notifications
func NewSessionMonitor ¶ added in v1.62.0
func NewSessionMonitor(proxy *Proxy, checkInterval time.Duration) *SessionMonitor
NewSessionMonitor creates a new session monitor
func (*SessionMonitor) Start ¶ added in v1.62.0
func (sm *SessionMonitor) Start()
Start begins monitoring session statuses
func (*SessionMonitor) Stop ¶ added in v1.62.0
func (sm *SessionMonitor) Stop()
Stop stops the session monitor
type SessionSnapshot ¶ added in v1.62.0
type SessionSnapshot struct {
ID string
UserID string
Status string
ProcessAlive bool
Tags map[string]string
Port int
}
SessionSnapshot represents a snapshot of session data for monitoring
type SessionStatus ¶ added in v1.62.0
type SessionStatus struct {
SessionID string
UserID string
Status string
ProcessAlive bool
Tags map[string]string
LastChecked time.Time
}
SessionStatus represents the status of a session for monitoring
type StartRequest ¶
type StartRequest struct {
Environment map[string]string `json:"environment,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
Message string `json:"message,omitempty"`
}
StartRequest represents the request body for starting a new agentapi server
type StartupConfig ¶ added in v1.41.3
type StartupConfig struct {
Port int
UserID string
RepoFullName string
CloneDir string
GitHubToken string
GitHubAppID string
GitHubInstallationID string
GitHubAppPEMPath string
GitHubAPI string
GitHubPersonalAccessToken string
MCPConfigs string
AgentAPIArgs string
ClaudeArgs string
Environment map[string]string
Config *config.Config
Verbose bool
IsRestore bool // Whether this is a restored session
}
StartupConfig holds configuration for session startup
type StartupManager ¶ added in v1.41.3
type StartupManager struct {
// contains filtered or unexported fields
}
StartupManager manages the startup process
func NewStartupManager ¶ added in v1.41.3
func NewStartupManager(config *config.Config, verbose bool) *StartupManager
NewStartupManager creates a new startup manager
func (*StartupManager) StartAgentAPISession ¶ added in v1.41.3
func (sm *StartupManager) StartAgentAPISession(ctx context.Context, cfg *StartupConfig) (*exec.Cmd, error)
StartAgentAPISession starts an AgentAPI session with the given configuration