You've already forked agentic-coding-workflow
228 lines
7.4 KiB
Go
228 lines
7.4 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.31.1
|
|
// source: models.sql
|
|
|
|
package chatsqlc
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
const deleteLLMModel = `-- name: DeleteLLMModel :exec
|
|
DELETE FROM llm_models WHERE id = $1
|
|
`
|
|
|
|
func (q *Queries) DeleteLLMModel(ctx context.Context, id pgtype.UUID) error {
|
|
_, err := q.db.Exec(ctx, deleteLLMModel, id)
|
|
return err
|
|
}
|
|
|
|
const getLLMModel = `-- name: GetLLMModel :one
|
|
SELECT id, endpoint_id, model_id, display_name, capabilities, context_window, max_output_tokens, prompt_price_per_million_usd, completion_price_per_million_usd, thinking_price_per_million_usd, is_title_generator, enabled, sort_order, created_at, updated_at FROM llm_models WHERE id = $1
|
|
`
|
|
|
|
func (q *Queries) GetLLMModel(ctx context.Context, id pgtype.UUID) (LlmModel, error) {
|
|
row := q.db.QueryRow(ctx, getLLMModel, id)
|
|
var i LlmModel
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.EndpointID,
|
|
&i.ModelID,
|
|
&i.DisplayName,
|
|
&i.Capabilities,
|
|
&i.ContextWindow,
|
|
&i.MaxOutputTokens,
|
|
&i.PromptPricePerMillionUsd,
|
|
&i.CompletionPricePerMillionUsd,
|
|
&i.ThinkingPricePerMillionUsd,
|
|
&i.IsTitleGenerator,
|
|
&i.Enabled,
|
|
&i.SortOrder,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const getTitleGeneratorModel = `-- name: GetTitleGeneratorModel :one
|
|
SELECT id, endpoint_id, model_id, display_name, capabilities, context_window, max_output_tokens, prompt_price_per_million_usd, completion_price_per_million_usd, thinking_price_per_million_usd, is_title_generator, enabled, sort_order, created_at, updated_at FROM llm_models WHERE is_title_generator = true AND enabled = true LIMIT 1
|
|
`
|
|
|
|
func (q *Queries) GetTitleGeneratorModel(ctx context.Context) (LlmModel, error) {
|
|
row := q.db.QueryRow(ctx, getTitleGeneratorModel)
|
|
var i LlmModel
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.EndpointID,
|
|
&i.ModelID,
|
|
&i.DisplayName,
|
|
&i.Capabilities,
|
|
&i.ContextWindow,
|
|
&i.MaxOutputTokens,
|
|
&i.PromptPricePerMillionUsd,
|
|
&i.CompletionPricePerMillionUsd,
|
|
&i.ThinkingPricePerMillionUsd,
|
|
&i.IsTitleGenerator,
|
|
&i.Enabled,
|
|
&i.SortOrder,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const insertLLMModel = `-- name: InsertLLMModel :one
|
|
INSERT INTO llm_models (
|
|
id, endpoint_id, model_id, display_name, capabilities,
|
|
context_window, max_output_tokens,
|
|
prompt_price_per_million_usd, completion_price_per_million_usd, thinking_price_per_million_usd,
|
|
is_title_generator, enabled, sort_order
|
|
) VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13)
|
|
RETURNING id, endpoint_id, model_id, display_name, capabilities, context_window, max_output_tokens, prompt_price_per_million_usd, completion_price_per_million_usd, thinking_price_per_million_usd, is_title_generator, enabled, sort_order, created_at, updated_at
|
|
`
|
|
|
|
type InsertLLMModelParams struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
EndpointID pgtype.UUID `json:"endpoint_id"`
|
|
ModelID string `json:"model_id"`
|
|
DisplayName string `json:"display_name"`
|
|
Capabilities []byte `json:"capabilities"`
|
|
ContextWindow int32 `json:"context_window"`
|
|
MaxOutputTokens int32 `json:"max_output_tokens"`
|
|
PromptPricePerMillionUsd pgtype.Numeric `json:"prompt_price_per_million_usd"`
|
|
CompletionPricePerMillionUsd pgtype.Numeric `json:"completion_price_per_million_usd"`
|
|
ThinkingPricePerMillionUsd pgtype.Numeric `json:"thinking_price_per_million_usd"`
|
|
IsTitleGenerator bool `json:"is_title_generator"`
|
|
Enabled bool `json:"enabled"`
|
|
SortOrder int32 `json:"sort_order"`
|
|
}
|
|
|
|
func (q *Queries) InsertLLMModel(ctx context.Context, arg InsertLLMModelParams) (LlmModel, error) {
|
|
row := q.db.QueryRow(ctx, insertLLMModel,
|
|
arg.ID,
|
|
arg.EndpointID,
|
|
arg.ModelID,
|
|
arg.DisplayName,
|
|
arg.Capabilities,
|
|
arg.ContextWindow,
|
|
arg.MaxOutputTokens,
|
|
arg.PromptPricePerMillionUsd,
|
|
arg.CompletionPricePerMillionUsd,
|
|
arg.ThinkingPricePerMillionUsd,
|
|
arg.IsTitleGenerator,
|
|
arg.Enabled,
|
|
arg.SortOrder,
|
|
)
|
|
var i LlmModel
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.EndpointID,
|
|
&i.ModelID,
|
|
&i.DisplayName,
|
|
&i.Capabilities,
|
|
&i.ContextWindow,
|
|
&i.MaxOutputTokens,
|
|
&i.PromptPricePerMillionUsd,
|
|
&i.CompletionPricePerMillionUsd,
|
|
&i.ThinkingPricePerMillionUsd,
|
|
&i.IsTitleGenerator,
|
|
&i.Enabled,
|
|
&i.SortOrder,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const listLLMModels = `-- name: ListLLMModels :many
|
|
SELECT id, endpoint_id, model_id, display_name, capabilities, context_window, max_output_tokens, prompt_price_per_million_usd, completion_price_per_million_usd, thinking_price_per_million_usd, is_title_generator, enabled, sort_order, created_at, updated_at FROM llm_models
|
|
WHERE ($1::boolean = false) OR enabled = true
|
|
ORDER BY sort_order, display_name
|
|
`
|
|
|
|
func (q *Queries) ListLLMModels(ctx context.Context, dollar_1 bool) ([]LlmModel, error) {
|
|
rows, err := q.db.Query(ctx, listLLMModels, dollar_1)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []LlmModel
|
|
for rows.Next() {
|
|
var i LlmModel
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.EndpointID,
|
|
&i.ModelID,
|
|
&i.DisplayName,
|
|
&i.Capabilities,
|
|
&i.ContextWindow,
|
|
&i.MaxOutputTokens,
|
|
&i.PromptPricePerMillionUsd,
|
|
&i.CompletionPricePerMillionUsd,
|
|
&i.ThinkingPricePerMillionUsd,
|
|
&i.IsTitleGenerator,
|
|
&i.Enabled,
|
|
&i.SortOrder,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const updateLLMModel = `-- name: UpdateLLMModel :exec
|
|
UPDATE llm_models
|
|
SET display_name = COALESCE($2, display_name),
|
|
capabilities = COALESCE($3, capabilities),
|
|
context_window = COALESCE($4, context_window),
|
|
max_output_tokens = COALESCE($5, max_output_tokens),
|
|
prompt_price_per_million_usd = COALESCE($6, prompt_price_per_million_usd),
|
|
completion_price_per_million_usd = COALESCE($7, completion_price_per_million_usd),
|
|
thinking_price_per_million_usd = COALESCE($8, thinking_price_per_million_usd),
|
|
is_title_generator = COALESCE($9, is_title_generator),
|
|
enabled = COALESCE($10, enabled),
|
|
sort_order = COALESCE($11, sort_order),
|
|
updated_at = NOW()
|
|
WHERE id = $1
|
|
`
|
|
|
|
type UpdateLLMModelParams struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
DisplayName string `json:"display_name"`
|
|
Capabilities []byte `json:"capabilities"`
|
|
ContextWindow int32 `json:"context_window"`
|
|
MaxOutputTokens int32 `json:"max_output_tokens"`
|
|
PromptPricePerMillionUsd pgtype.Numeric `json:"prompt_price_per_million_usd"`
|
|
CompletionPricePerMillionUsd pgtype.Numeric `json:"completion_price_per_million_usd"`
|
|
ThinkingPricePerMillionUsd pgtype.Numeric `json:"thinking_price_per_million_usd"`
|
|
IsTitleGenerator bool `json:"is_title_generator"`
|
|
Enabled bool `json:"enabled"`
|
|
SortOrder int32 `json:"sort_order"`
|
|
}
|
|
|
|
func (q *Queries) UpdateLLMModel(ctx context.Context, arg UpdateLLMModelParams) error {
|
|
_, err := q.db.Exec(ctx, updateLLMModel,
|
|
arg.ID,
|
|
arg.DisplayName,
|
|
arg.Capabilities,
|
|
arg.ContextWindow,
|
|
arg.MaxOutputTokens,
|
|
arg.PromptPricePerMillionUsd,
|
|
arg.CompletionPricePerMillionUsd,
|
|
arg.ThinkingPricePerMillionUsd,
|
|
arg.IsTitleGenerator,
|
|
arg.Enabled,
|
|
arg.SortOrder,
|
|
)
|
|
return err
|
|
}
|