Documentation
¶
Index ¶
- func DefaultMigratorConfig() database.MigratorConfig
- func NewTestDB(t *testing.T) database.Database
- func WithTestSession(ctx context.Context) context.Context
- type Executor
- type PostgreSQL
- func (db *PostgreSQL) AcquireServerCreateLock(ctx context.Context, tx pgx.Tx, serverName string) error
- func (db *PostgreSQL) CheckAgentVersionExists(ctx context.Context, tx pgx.Tx, agentName, version string) (bool, error)
- func (db *PostgreSQL) CheckPromptVersionExists(ctx context.Context, tx pgx.Tx, promptName, version string) (bool, error)
- func (db *PostgreSQL) CheckSkillVersionExists(ctx context.Context, tx pgx.Tx, skillName, version string) (bool, error)
- func (db *PostgreSQL) CheckVersionExists(ctx context.Context, tx pgx.Tx, serverName, version string) (bool, error)
- func (db *PostgreSQL) Close() error
- func (db *PostgreSQL) CountAgentVersions(ctx context.Context, tx pgx.Tx, agentName string) (int, error)
- func (db *PostgreSQL) CountPromptVersions(ctx context.Context, tx pgx.Tx, promptName string) (int, error)
- func (db *PostgreSQL) CountServerVersions(ctx context.Context, tx pgx.Tx, serverName string) (int, error)
- func (db *PostgreSQL) CountSkillVersions(ctx context.Context, tx pgx.Tx, skillName string) (int, error)
- func (db *PostgreSQL) CreateAgent(ctx context.Context, tx pgx.Tx, agentJSON *models.AgentJSON, ...) (*models.AgentResponse, error)
- func (db *PostgreSQL) CreateDeployment(ctx context.Context, tx pgx.Tx, deployment *models.Deployment) error
- func (db *PostgreSQL) CreatePrompt(ctx context.Context, tx pgx.Tx, promptJSON *models.PromptJSON, ...) (*models.PromptResponse, error)
- func (db *PostgreSQL) CreateProvider(ctx context.Context, tx pgx.Tx, in *models.CreateProviderInput) (*models.Provider, error)
- func (db *PostgreSQL) CreateServer(ctx context.Context, tx pgx.Tx, serverJSON *apiv0.ServerJSON, ...) (*apiv0.ServerResponse, error)
- func (db *PostgreSQL) CreateSkill(ctx context.Context, tx pgx.Tx, skillJSON *models.SkillJSON, ...) (*models.SkillResponse, error)
- func (db *PostgreSQL) DeleteAgent(ctx context.Context, tx pgx.Tx, agentName, version string) error
- func (db *PostgreSQL) DeletePrompt(ctx context.Context, tx pgx.Tx, promptName, version string) error
- func (db *PostgreSQL) DeleteProvider(ctx context.Context, tx pgx.Tx, providerID string) error
- func (db *PostgreSQL) DeleteServer(ctx context.Context, tx pgx.Tx, serverName, version string) error
- func (db *PostgreSQL) GetAgentByName(ctx context.Context, tx pgx.Tx, agentName string) (*models.AgentResponse, error)
- func (db *PostgreSQL) GetAgentByNameAndVersion(ctx context.Context, tx pgx.Tx, agentName, version string) (*models.AgentResponse, error)
- func (db *PostgreSQL) GetAgentEmbeddingMetadata(ctx context.Context, tx pgx.Tx, agentName, version string) (*database.SemanticEmbeddingMetadata, error)
- func (db *PostgreSQL) GetAllVersionsByAgentName(ctx context.Context, tx pgx.Tx, agentName string) ([]*models.AgentResponse, error)
- func (db *PostgreSQL) GetAllVersionsByPromptName(ctx context.Context, tx pgx.Tx, promptName string) ([]*models.PromptResponse, error)
- func (db *PostgreSQL) GetAllVersionsByServerName(ctx context.Context, tx pgx.Tx, serverName string) ([]*apiv0.ServerResponse, error)
- func (db *PostgreSQL) GetAllVersionsBySkillName(ctx context.Context, tx pgx.Tx, skillName string) ([]*models.SkillResponse, error)
- func (db *PostgreSQL) GetCurrentLatestAgentVersion(ctx context.Context, tx pgx.Tx, agentName string) (*models.AgentResponse, error)
- func (db *PostgreSQL) GetCurrentLatestPromptVersion(ctx context.Context, tx pgx.Tx, promptName string) (*models.PromptResponse, error)
- func (db *PostgreSQL) GetCurrentLatestSkillVersion(ctx context.Context, tx pgx.Tx, skillName string) (*models.SkillResponse, error)
- func (db *PostgreSQL) GetCurrentLatestVersion(ctx context.Context, tx pgx.Tx, serverName string) (*apiv0.ServerResponse, error)
- func (db *PostgreSQL) GetDeploymentByID(ctx context.Context, tx pgx.Tx, id string) (*models.Deployment, error)
- func (db *PostgreSQL) GetDeployments(ctx context.Context, tx pgx.Tx, filter *models.DeploymentFilter) ([]*models.Deployment, error)
- func (db *PostgreSQL) GetLatestServerReadme(ctx context.Context, tx pgx.Tx, serverName string) (*database.ServerReadme, error)
- func (db *PostgreSQL) GetPromptByName(ctx context.Context, tx pgx.Tx, promptName string) (*models.PromptResponse, error)
- func (db *PostgreSQL) GetPromptByNameAndVersion(ctx context.Context, tx pgx.Tx, promptName, version string) (*models.PromptResponse, error)
- func (db *PostgreSQL) GetProviderByID(ctx context.Context, tx pgx.Tx, providerID string) (*models.Provider, error)
- func (db *PostgreSQL) GetServerByName(ctx context.Context, tx pgx.Tx, serverName string) (*apiv0.ServerResponse, error)
- func (db *PostgreSQL) GetServerByNameAndVersion(ctx context.Context, tx pgx.Tx, serverName string, version string) (*apiv0.ServerResponse, error)
- func (db *PostgreSQL) GetServerEmbeddingMetadata(ctx context.Context, tx pgx.Tx, serverName, version string) (*database.SemanticEmbeddingMetadata, error)
- func (db *PostgreSQL) GetServerReadme(ctx context.Context, tx pgx.Tx, serverName, version string) (*database.ServerReadme, error)
- func (db *PostgreSQL) GetSkillByName(ctx context.Context, tx pgx.Tx, skillName string) (*models.SkillResponse, error)
- func (db *PostgreSQL) GetSkillByNameAndVersion(ctx context.Context, tx pgx.Tx, skillName, version string) (*models.SkillResponse, error)
- func (db *PostgreSQL) InTransaction(ctx context.Context, fn func(ctx context.Context, tx pgx.Tx) error) error
- func (db *PostgreSQL) ListAgents(ctx context.Context, tx pgx.Tx, filter *database.AgentFilter, cursor string, ...) ([]*models.AgentResponse, string, error)
- func (db *PostgreSQL) ListPrompts(ctx context.Context, tx pgx.Tx, filter *database.PromptFilter, cursor string, ...) ([]*models.PromptResponse, string, error)
- func (db *PostgreSQL) ListProviders(ctx context.Context, tx pgx.Tx, platform *string) ([]*models.Provider, error)
- func (db *PostgreSQL) ListServers(ctx context.Context, tx pgx.Tx, filter *database.ServerFilter, cursor string, ...) ([]*apiv0.ServerResponse, string, error)
- func (db *PostgreSQL) ListSkills(ctx context.Context, tx pgx.Tx, filter *database.SkillFilter, cursor string, ...) ([]*models.SkillResponse, string, error)
- func (db *PostgreSQL) RemoveDeploymentByID(ctx context.Context, tx pgx.Tx, id string) error
- func (db *PostgreSQL) SetAgentEmbedding(ctx context.Context, tx pgx.Tx, agentName, version string, ...) error
- func (db *PostgreSQL) SetAgentStatus(ctx context.Context, tx pgx.Tx, agentName, version string, status string) (*models.AgentResponse, error)
- func (db *PostgreSQL) SetServerEmbedding(ctx context.Context, tx pgx.Tx, serverName, version string, ...) error
- func (db *PostgreSQL) SetServerStatus(ctx context.Context, tx pgx.Tx, serverName, version string, status string) (*apiv0.ServerResponse, error)
- func (db *PostgreSQL) SetSkillStatus(ctx context.Context, tx pgx.Tx, skillName, version string, status string) (*models.SkillResponse, error)
- func (db *PostgreSQL) UnmarkAgentAsLatest(ctx context.Context, tx pgx.Tx, agentName string) error
- func (db *PostgreSQL) UnmarkAsLatest(ctx context.Context, tx pgx.Tx, serverName string) error
- func (db *PostgreSQL) UnmarkPromptAsLatest(ctx context.Context, tx pgx.Tx, promptName string) error
- func (db *PostgreSQL) UnmarkSkillAsLatest(ctx context.Context, tx pgx.Tx, skillName string) error
- func (db *PostgreSQL) UpdateAgent(ctx context.Context, tx pgx.Tx, agentName, version string, ...) (*models.AgentResponse, error)
- func (db *PostgreSQL) UpdateDeploymentState(ctx context.Context, tx pgx.Tx, id string, patch *models.DeploymentStatePatch) error
- func (db *PostgreSQL) UpdateProvider(ctx context.Context, tx pgx.Tx, providerID string, ...) (*models.Provider, error)
- func (db *PostgreSQL) UpdateServer(ctx context.Context, tx pgx.Tx, serverName, version string, ...) (*apiv0.ServerResponse, error)
- func (db *PostgreSQL) UpdateSkill(ctx context.Context, tx pgx.Tx, skillName, version string, ...) (*models.SkillResponse, error)
- func (db *PostgreSQL) UpsertServerReadme(ctx context.Context, tx pgx.Tx, readme *database.ServerReadme) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultMigratorConfig ¶ added in v0.1.16
func DefaultMigratorConfig() database.MigratorConfig
DefaultMigratorConfig returns the default configuration for OSS migrations.
Types ¶
type Executor ¶
type Executor interface {
Exec(ctx context.Context, sql string, arguments ...any) (pgconn.CommandTag, error)
Query(ctx context.Context, sql string, args ...any) (pgx.Rows, error)
QueryRow(ctx context.Context, sql string, args ...any) pgx.Row
}
Executor is an interface for executing queries (satisfied by both pgx.Tx and pgxpool.Pool)
type PostgreSQL ¶
type PostgreSQL struct {
// contains filtered or unexported fields
}
PostgreSQL is an implementation of the Database interface using PostgreSQL
func NewPostgreSQL ¶
func NewPostgreSQL(ctx context.Context, connectionURI string, authz auth.Authorizer) (*PostgreSQL, error)
NewPostgreSQL creates a new instance of the PostgreSQL database
func (*PostgreSQL) AcquireServerCreateLock ¶ added in v0.1.24
func (db *PostgreSQL) AcquireServerCreateLock(ctx context.Context, tx pgx.Tx, serverName string) error
AcquireServerCreateLock acquires a transaction-scoped advisory lock so that concurrent CreateServer calls for the same server name serialize and avoid unique constraint violations on idx_unique_latest_per_server.
func (*PostgreSQL) CheckAgentVersionExists ¶
func (*PostgreSQL) CheckPromptVersionExists ¶ added in v0.2.0
func (*PostgreSQL) CheckSkillVersionExists ¶
func (*PostgreSQL) CheckVersionExists ¶
func (db *PostgreSQL) CheckVersionExists(ctx context.Context, tx pgx.Tx, serverName, version string) (bool, error)
CheckVersionExists checks if a specific version exists for a server
func (*PostgreSQL) CountAgentVersions ¶
func (*PostgreSQL) CountPromptVersions ¶ added in v0.2.0
func (*PostgreSQL) CountServerVersions ¶
func (db *PostgreSQL) CountServerVersions(ctx context.Context, tx pgx.Tx, serverName string) (int, error)
CountServerVersions counts the number of versions for a server
func (*PostgreSQL) CountSkillVersions ¶
func (*PostgreSQL) CreateAgent ¶
func (db *PostgreSQL) CreateAgent(ctx context.Context, tx pgx.Tx, agentJSON *models.AgentJSON, officialMeta *models.AgentRegistryExtensions) (*models.AgentResponse, error)
func (*PostgreSQL) CreateDeployment ¶
func (db *PostgreSQL) CreateDeployment(ctx context.Context, tx pgx.Tx, deployment *models.Deployment) error
CreateDeployment creates a new deployment record
func (*PostgreSQL) CreatePrompt ¶ added in v0.2.0
func (db *PostgreSQL) CreatePrompt(ctx context.Context, tx pgx.Tx, promptJSON *models.PromptJSON, officialMeta *models.PromptRegistryExtensions) (*models.PromptResponse, error)
func (*PostgreSQL) CreateProvider ¶ added in v0.2.0
func (db *PostgreSQL) CreateProvider(ctx context.Context, tx pgx.Tx, in *models.CreateProviderInput) (*models.Provider, error)
CreateProvider creates a provider record.
func (*PostgreSQL) CreateServer ¶
func (db *PostgreSQL) CreateServer(ctx context.Context, tx pgx.Tx, serverJSON *apiv0.ServerJSON, officialMeta *apiv0.RegistryExtensions) (*apiv0.ServerResponse, error)
CreateServer inserts a new server version with official metadata
func (*PostgreSQL) CreateSkill ¶
func (db *PostgreSQL) CreateSkill(ctx context.Context, tx pgx.Tx, skillJSON *models.SkillJSON, officialMeta *models.SkillRegistryExtensions) (*models.SkillResponse, error)
func (*PostgreSQL) DeleteAgent ¶
DeleteAgent permanently removes an agent version from the database. If the deleted version was the current latest, the most recently published remaining version is promoted to latest.
func (*PostgreSQL) DeletePrompt ¶ added in v0.2.0
func (*PostgreSQL) DeleteProvider ¶ added in v0.2.0
DeleteProvider removes a provider by ID.
func (*PostgreSQL) DeleteServer ¶
func (db *PostgreSQL) DeleteServer(ctx context.Context, tx pgx.Tx, serverName, version string) error
DeleteServer permanently removes a server version from the database. If the deleted version was the current latest, the most recently published remaining version is promoted to latest.
func (*PostgreSQL) GetAgentByName ¶
func (db *PostgreSQL) GetAgentByName(ctx context.Context, tx pgx.Tx, agentName string) (*models.AgentResponse, error)
func (*PostgreSQL) GetAgentByNameAndVersion ¶
func (db *PostgreSQL) GetAgentByNameAndVersion(ctx context.Context, tx pgx.Tx, agentName, version string) (*models.AgentResponse, error)
func (*PostgreSQL) GetAgentEmbeddingMetadata ¶ added in v0.1.11
func (db *PostgreSQL) GetAgentEmbeddingMetadata(ctx context.Context, tx pgx.Tx, agentName, version string) (*database.SemanticEmbeddingMetadata, error)
GetAgentEmbeddingMetadata retrieves embedding metadata for an agent version without loading the vector.
func (*PostgreSQL) GetAllVersionsByAgentName ¶
func (db *PostgreSQL) GetAllVersionsByAgentName(ctx context.Context, tx pgx.Tx, agentName string) ([]*models.AgentResponse, error)
func (*PostgreSQL) GetAllVersionsByPromptName ¶ added in v0.2.0
func (db *PostgreSQL) GetAllVersionsByPromptName(ctx context.Context, tx pgx.Tx, promptName string) ([]*models.PromptResponse, error)
func (*PostgreSQL) GetAllVersionsByServerName ¶
func (db *PostgreSQL) GetAllVersionsByServerName(ctx context.Context, tx pgx.Tx, serverName string) ([]*apiv0.ServerResponse, error)
GetAllVersionsByServerName retrieves all versions of a server by server name
func (*PostgreSQL) GetAllVersionsBySkillName ¶
func (db *PostgreSQL) GetAllVersionsBySkillName(ctx context.Context, tx pgx.Tx, skillName string) ([]*models.SkillResponse, error)
func (*PostgreSQL) GetCurrentLatestAgentVersion ¶
func (db *PostgreSQL) GetCurrentLatestAgentVersion(ctx context.Context, tx pgx.Tx, agentName string) (*models.AgentResponse, error)
func (*PostgreSQL) GetCurrentLatestPromptVersion ¶ added in v0.2.0
func (db *PostgreSQL) GetCurrentLatestPromptVersion(ctx context.Context, tx pgx.Tx, promptName string) (*models.PromptResponse, error)
func (*PostgreSQL) GetCurrentLatestSkillVersion ¶
func (db *PostgreSQL) GetCurrentLatestSkillVersion(ctx context.Context, tx pgx.Tx, skillName string) (*models.SkillResponse, error)
func (*PostgreSQL) GetCurrentLatestVersion ¶
func (db *PostgreSQL) GetCurrentLatestVersion(ctx context.Context, tx pgx.Tx, serverName string) (*apiv0.ServerResponse, error)
GetCurrentLatestVersion retrieves the current latest version of a server by server name
func (*PostgreSQL) GetDeploymentByID ¶ added in v0.2.0
func (db *PostgreSQL) GetDeploymentByID(ctx context.Context, tx pgx.Tx, id string) (*models.Deployment, error)
GetDeploymentByID retrieves a specific deployment by UUID.
func (*PostgreSQL) GetDeployments ¶
func (db *PostgreSQL) GetDeployments(ctx context.Context, tx pgx.Tx, filter *models.DeploymentFilter) ([]*models.Deployment, error)
GetDeployments retrieves all deployed servers
func (*PostgreSQL) GetLatestServerReadme ¶
func (db *PostgreSQL) GetLatestServerReadme(ctx context.Context, tx pgx.Tx, serverName string) (*database.ServerReadme, error)
func (*PostgreSQL) GetPromptByName ¶ added in v0.2.0
func (db *PostgreSQL) GetPromptByName(ctx context.Context, tx pgx.Tx, promptName string) (*models.PromptResponse, error)
func (*PostgreSQL) GetPromptByNameAndVersion ¶ added in v0.2.0
func (db *PostgreSQL) GetPromptByNameAndVersion(ctx context.Context, tx pgx.Tx, promptName, version string) (*models.PromptResponse, error)
func (*PostgreSQL) GetProviderByID ¶ added in v0.2.0
func (db *PostgreSQL) GetProviderByID(ctx context.Context, tx pgx.Tx, providerID string) (*models.Provider, error)
GetProviderByID gets a provider by ID.
func (*PostgreSQL) GetServerByName ¶
func (db *PostgreSQL) GetServerByName(ctx context.Context, tx pgx.Tx, serverName string) (*apiv0.ServerResponse, error)
GetServerByName retrieves the latest version of a server by server name
func (*PostgreSQL) GetServerByNameAndVersion ¶
func (db *PostgreSQL) GetServerByNameAndVersion(ctx context.Context, tx pgx.Tx, serverName string, version string) (*apiv0.ServerResponse, error)
GetServerByNameAndVersion retrieves a specific version of a server by server name and version
func (*PostgreSQL) GetServerEmbeddingMetadata ¶ added in v0.1.11
func (db *PostgreSQL) GetServerEmbeddingMetadata(ctx context.Context, tx pgx.Tx, serverName, version string) (*database.SemanticEmbeddingMetadata, error)
GetServerEmbeddingMetadata retrieves embedding metadata for a server version without loading the underlying vector payload. This is useful for maintenance tasks that only need to know whether an embedding exists or if its checksum is stale.
func (*PostgreSQL) GetServerReadme ¶
func (db *PostgreSQL) GetServerReadme(ctx context.Context, tx pgx.Tx, serverName, version string) (*database.ServerReadme, error)
func (*PostgreSQL) GetSkillByName ¶
func (db *PostgreSQL) GetSkillByName(ctx context.Context, tx pgx.Tx, skillName string) (*models.SkillResponse, error)
func (*PostgreSQL) GetSkillByNameAndVersion ¶
func (db *PostgreSQL) GetSkillByNameAndVersion(ctx context.Context, tx pgx.Tx, skillName, version string) (*models.SkillResponse, error)
func (*PostgreSQL) InTransaction ¶
func (db *PostgreSQL) InTransaction(ctx context.Context, fn func(ctx context.Context, tx pgx.Tx) error) error
InTransaction executes a function within a database transaction
func (*PostgreSQL) ListAgents ¶
func (db *PostgreSQL) ListAgents(ctx context.Context, tx pgx.Tx, filter *database.AgentFilter, cursor string, limit int) ([]*models.AgentResponse, string, error)
ListAgents returns paginated agents with filtering
func (*PostgreSQL) ListPrompts ¶ added in v0.2.0
func (db *PostgreSQL) ListPrompts(ctx context.Context, tx pgx.Tx, filter *database.PromptFilter, cursor string, limit int) ([]*models.PromptResponse, string, error)
func (*PostgreSQL) ListProviders ¶ added in v0.2.0
func (db *PostgreSQL) ListProviders(ctx context.Context, tx pgx.Tx, platform *string) ([]*models.Provider, error)
ListProviders lists providers, optionally filtered by platform.
func (*PostgreSQL) ListServers ¶
func (db *PostgreSQL) ListServers( ctx context.Context, tx pgx.Tx, filter *database.ServerFilter, cursor string, limit int, ) ([]*apiv0.ServerResponse, string, error)
func (*PostgreSQL) ListSkills ¶
func (db *PostgreSQL) ListSkills(ctx context.Context, tx pgx.Tx, filter *database.SkillFilter, cursor string, limit int) ([]*models.SkillResponse, string, error)
ListSkills returns paginated skills with filtering
func (*PostgreSQL) RemoveDeploymentByID ¶ added in v0.2.0
RemoveDeploymentByID removes a deployment by UUID.
func (*PostgreSQL) SetAgentEmbedding ¶ added in v0.1.11
func (db *PostgreSQL) SetAgentEmbedding(ctx context.Context, tx pgx.Tx, agentName, version string, embedding *database.SemanticEmbedding) error
SetAgentEmbedding stores semantic embedding metadata for an agent version.
func (*PostgreSQL) SetAgentStatus ¶
func (db *PostgreSQL) SetAgentStatus(ctx context.Context, tx pgx.Tx, agentName, version string, status string) (*models.AgentResponse, error)
func (*PostgreSQL) SetServerEmbedding ¶ added in v0.1.11
func (db *PostgreSQL) SetServerEmbedding(ctx context.Context, tx pgx.Tx, serverName, version string, embedding *database.SemanticEmbedding) error
SetServerEmbedding stores semantic embedding metadata for a server version.
func (*PostgreSQL) SetServerStatus ¶
func (db *PostgreSQL) SetServerStatus(ctx context.Context, tx pgx.Tx, serverName, version string, status string) (*apiv0.ServerResponse, error)
SetServerStatus updates the status of a specific server version
func (*PostgreSQL) SetSkillStatus ¶
func (db *PostgreSQL) SetSkillStatus(ctx context.Context, tx pgx.Tx, skillName, version string, status string) (*models.SkillResponse, error)
func (*PostgreSQL) UnmarkAgentAsLatest ¶
func (*PostgreSQL) UnmarkAsLatest ¶
UnmarkAsLatest marks the current latest version of a server as no longer latest
func (*PostgreSQL) UnmarkPromptAsLatest ¶ added in v0.2.0
func (*PostgreSQL) UnmarkSkillAsLatest ¶
func (*PostgreSQL) UpdateAgent ¶
func (*PostgreSQL) UpdateDeploymentState ¶ added in v0.3.0
func (db *PostgreSQL) UpdateDeploymentState(ctx context.Context, tx pgx.Tx, id string, patch *models.DeploymentStatePatch) error
UpdateDeploymentState applies partial state updates to a deployment by ID.
func (*PostgreSQL) UpdateProvider ¶ added in v0.2.0
func (db *PostgreSQL) UpdateProvider(ctx context.Context, tx pgx.Tx, providerID string, in *models.UpdateProviderInput) (*models.Provider, error)
UpdateProvider updates mutable provider fields.
func (*PostgreSQL) UpdateServer ¶
func (db *PostgreSQL) UpdateServer(ctx context.Context, tx pgx.Tx, serverName, version string, serverJSON *apiv0.ServerJSON) (*apiv0.ServerResponse, error)
UpdateServer updates an existing server record with new server details
func (*PostgreSQL) UpdateSkill ¶
func (*PostgreSQL) UpsertServerReadme ¶
func (db *PostgreSQL) UpsertServerReadme(ctx context.Context, tx pgx.Tx, readme *database.ServerReadme) error