Documentation
¶
Index ¶
- func NewTestDB(t *testing.T) database.Database
- func WithTestSession(ctx context.Context) context.Context
- type Executor
- type Migration
- type Migrator
- type PostgreSQL
- func (db *PostgreSQL) AcquirePublishLock(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) 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) 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) 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) 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) GetAllVersionsByServerName(ctx context.Context, tx pgx.Tx, serverName string, publishedOnly bool) ([]*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) 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) GetDeploymentByNameAndVersion(ctx context.Context, tx pgx.Tx, serverName string, version string, ...) (*models.Deployment, error)
- func (db *PostgreSQL) GetDeployments(ctx context.Context, tx pgx.Tx) ([]*models.Deployment, error)
- func (db *PostgreSQL) GetLatestServerReadme(ctx context.Context, tx pgx.Tx, serverName string) (*database.ServerReadme, 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) IsAgentPublished(ctx context.Context, tx pgx.Tx, agentName, version string) (bool, error)
- func (db *PostgreSQL) IsServerPublished(ctx context.Context, tx pgx.Tx, serverName, version string) (bool, error)
- func (db *PostgreSQL) IsSkillPublished(ctx context.Context, tx pgx.Tx, skillName, version string) (bool, error)
- func (db *PostgreSQL) ListAgents(ctx context.Context, tx pgx.Tx, filter *database.AgentFilter, cursor string, ...) ([]*models.AgentResponse, string, 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) PublishAgent(ctx context.Context, tx pgx.Tx, agentName, version string) error
- func (db *PostgreSQL) PublishServer(ctx context.Context, tx pgx.Tx, serverName, version string) error
- func (db *PostgreSQL) PublishSkill(ctx context.Context, tx pgx.Tx, skillName, version string) error
- func (db *PostgreSQL) RemoveDeployment(ctx context.Context, tx pgx.Tx, serverName string, version 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) UnmarkSkillAsLatest(ctx context.Context, tx pgx.Tx, skillName string) error
- func (db *PostgreSQL) UnpublishAgent(ctx context.Context, tx pgx.Tx, agentName, version string) error
- func (db *PostgreSQL) UnpublishServer(ctx context.Context, tx pgx.Tx, serverName, version string) error
- func (db *PostgreSQL) UnpublishSkill(ctx context.Context, tx pgx.Tx, skillName, version string) error
- func (db *PostgreSQL) UpdateAgent(ctx context.Context, tx pgx.Tx, agentName, version string, ...) (*models.AgentResponse, error)
- func (db *PostgreSQL) UpdateDeploymentConfig(ctx context.Context, tx pgx.Tx, serverName string, version string, ...) error
- func (db *PostgreSQL) UpdateDeploymentStatus(ctx context.Context, tx pgx.Tx, serverName, version string, ...) 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 ¶
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 Migrator ¶
type Migrator struct {
// contains filtered or unexported fields
}
Migrator handles database migrations
func NewMigrator ¶
NewMigrator creates a new migrator instance
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) AcquirePublishLock ¶
AcquirePublishLock acquires an exclusive advisory lock for publishing a server This prevents race conditions when multiple versions are published concurrently Using pg_advisory_xact_lock which auto-releases on transaction end
func (*PostgreSQL) CheckAgentVersionExists ¶
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) 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) 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
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
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) GetAllVersionsByServerName ¶
func (db *PostgreSQL) GetAllVersionsByServerName(ctx context.Context, tx pgx.Tx, serverName string, publishedOnly bool) ([]*apiv0.ServerResponse, error)
GetAllVersionsByServerName retrieves all versions of a server by server name If publishedOnly is true, only returns versions where published = true
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) 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) GetDeploymentByNameAndVersion ¶
func (db *PostgreSQL) GetDeploymentByNameAndVersion(ctx context.Context, tx pgx.Tx, serverName string, version string, resourceType string) (*models.Deployment, error)
GetDeploymentByName retrieves a specific deployment
func (*PostgreSQL) GetDeployments ¶
func (db *PostgreSQL) GetDeployments(ctx context.Context, tx pgx.Tx) ([]*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) 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, publishedOnly bool) (*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) IsAgentPublished ¶
func (db *PostgreSQL) IsAgentPublished(ctx context.Context, tx pgx.Tx, agentName, version string) (bool, error)
IsAgentPublished checks if an agent is published
func (*PostgreSQL) IsServerPublished ¶
func (db *PostgreSQL) IsServerPublished(ctx context.Context, tx pgx.Tx, serverName, version string) (bool, error)
IsServerPublished checks if a server is published
func (*PostgreSQL) IsSkillPublished ¶
func (db *PostgreSQL) IsSkillPublished(ctx context.Context, tx pgx.Tx, skillName, version string) (bool, error)
IsSkillPublished checks if a skill is published
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) 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) PublishAgent ¶
PublishAgent marks an agent as published
func (*PostgreSQL) PublishServer ¶
func (db *PostgreSQL) PublishServer(ctx context.Context, tx pgx.Tx, serverName, version string) error
PublishServer marks a server as published
func (*PostgreSQL) PublishSkill ¶
PublishSkill marks a skill as published
func (*PostgreSQL) RemoveDeployment ¶
func (db *PostgreSQL) RemoveDeployment(ctx context.Context, tx pgx.Tx, serverName string, version string, resourceType string) error
RemoveDeployment removes a deployment
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) UnmarkSkillAsLatest ¶
func (*PostgreSQL) UnpublishAgent ¶
func (db *PostgreSQL) UnpublishAgent(ctx context.Context, tx pgx.Tx, agentName, version string) error
UnpublishAgent marks an agent as unpublished
func (*PostgreSQL) UnpublishServer ¶
func (db *PostgreSQL) UnpublishServer(ctx context.Context, tx pgx.Tx, serverName, version string) error
UnpublishServer marks a server as unpublished
func (*PostgreSQL) UnpublishSkill ¶
func (db *PostgreSQL) UnpublishSkill(ctx context.Context, tx pgx.Tx, skillName, version string) error
UnpublishSkill marks a skill as unpublished
func (*PostgreSQL) UpdateAgent ¶
func (*PostgreSQL) UpdateDeploymentConfig ¶
func (db *PostgreSQL) UpdateDeploymentConfig(ctx context.Context, tx pgx.Tx, serverName string, version string, resourceType string, config map[string]string) error
UpdateDeploymentConfig updates the configuration for a deployment
func (*PostgreSQL) UpdateDeploymentStatus ¶
func (db *PostgreSQL) UpdateDeploymentStatus(ctx context.Context, tx pgx.Tx, serverName, version string, resourceType string, status string) error
UpdateDeploymentStatus updates the status of a deployment
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