Files
Memoh/internal/db/sqlc/settings.sql.go
T
Acbox Liu 17cd077f34 feat: add thinking support (#100)
* feat: add thinking support

* feat: improve thinking block render in web and filter thinking content in channels

* fix: migrate
2026-02-23 14:41:27 +08:00

193 lines
6.3 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.30.0
// source: settings.sql
package sqlc
import (
"context"
"github.com/jackc/pgx/v5/pgtype"
)
const deleteSettingsByBotID = `-- name: DeleteSettingsByBotID :exec
UPDATE bots
SET max_context_load_time = 1440,
max_context_tokens = 0,
max_inbox_items = 50,
language = 'auto',
allow_guest = false,
reasoning_enabled = false,
reasoning_effort = 'medium',
chat_model_id = NULL,
memory_model_id = NULL,
embedding_model_id = NULL,
search_provider_id = NULL,
updated_at = now()
WHERE id = $1
`
func (q *Queries) DeleteSettingsByBotID(ctx context.Context, id pgtype.UUID) error {
_, err := q.db.Exec(ctx, deleteSettingsByBotID, id)
return err
}
const getSettingsByBotID = `-- name: GetSettingsByBotID :one
SELECT
bots.id AS bot_id,
bots.max_context_load_time,
bots.max_context_tokens,
bots.max_inbox_items,
bots.language,
bots.allow_guest,
bots.reasoning_enabled,
bots.reasoning_effort,
chat_models.id AS chat_model_id,
memory_models.id AS memory_model_id,
embedding_models.id AS embedding_model_id,
search_providers.id AS search_provider_id
FROM bots
LEFT JOIN models AS chat_models ON chat_models.id = bots.chat_model_id
LEFT JOIN models AS memory_models ON memory_models.id = bots.memory_model_id
LEFT JOIN models AS embedding_models ON embedding_models.id = bots.embedding_model_id
LEFT JOIN search_providers ON search_providers.id = bots.search_provider_id
WHERE bots.id = $1
`
type GetSettingsByBotIDRow struct {
BotID pgtype.UUID `json:"bot_id"`
MaxContextLoadTime int32 `json:"max_context_load_time"`
MaxContextTokens int32 `json:"max_context_tokens"`
MaxInboxItems int32 `json:"max_inbox_items"`
Language string `json:"language"`
AllowGuest bool `json:"allow_guest"`
ReasoningEnabled bool `json:"reasoning_enabled"`
ReasoningEffort string `json:"reasoning_effort"`
ChatModelID pgtype.UUID `json:"chat_model_id"`
MemoryModelID pgtype.UUID `json:"memory_model_id"`
EmbeddingModelID pgtype.UUID `json:"embedding_model_id"`
SearchProviderID pgtype.UUID `json:"search_provider_id"`
}
func (q *Queries) GetSettingsByBotID(ctx context.Context, id pgtype.UUID) (GetSettingsByBotIDRow, error) {
row := q.db.QueryRow(ctx, getSettingsByBotID, id)
var i GetSettingsByBotIDRow
err := row.Scan(
&i.BotID,
&i.MaxContextLoadTime,
&i.MaxContextTokens,
&i.MaxInboxItems,
&i.Language,
&i.AllowGuest,
&i.ReasoningEnabled,
&i.ReasoningEffort,
&i.ChatModelID,
&i.MemoryModelID,
&i.EmbeddingModelID,
&i.SearchProviderID,
)
return i, err
}
const upsertBotSettings = `-- name: UpsertBotSettings :one
WITH updated AS (
UPDATE bots
SET max_context_load_time = $1,
max_context_tokens = $2,
max_inbox_items = $3,
language = $4,
allow_guest = $5,
reasoning_enabled = $6,
reasoning_effort = $7,
chat_model_id = COALESCE($8::uuid, bots.chat_model_id),
memory_model_id = COALESCE($9::uuid, bots.memory_model_id),
embedding_model_id = COALESCE($10::uuid, bots.embedding_model_id),
search_provider_id = COALESCE($11::uuid, bots.search_provider_id),
updated_at = now()
WHERE bots.id = $12
RETURNING bots.id, bots.max_context_load_time, bots.max_context_tokens, bots.max_inbox_items, bots.language, bots.allow_guest, bots.reasoning_enabled, bots.reasoning_effort, bots.chat_model_id, bots.memory_model_id, bots.embedding_model_id, bots.search_provider_id
)
SELECT
updated.id AS bot_id,
updated.max_context_load_time,
updated.max_context_tokens,
updated.max_inbox_items,
updated.language,
updated.allow_guest,
updated.reasoning_enabled,
updated.reasoning_effort,
chat_models.id AS chat_model_id,
memory_models.id AS memory_model_id,
embedding_models.id AS embedding_model_id,
search_providers.id AS search_provider_id
FROM updated
LEFT JOIN models AS chat_models ON chat_models.id = updated.chat_model_id
LEFT JOIN models AS memory_models ON memory_models.id = updated.memory_model_id
LEFT JOIN models AS embedding_models ON embedding_models.id = updated.embedding_model_id
LEFT JOIN search_providers ON search_providers.id = updated.search_provider_id
`
type UpsertBotSettingsParams struct {
MaxContextLoadTime int32 `json:"max_context_load_time"`
MaxContextTokens int32 `json:"max_context_tokens"`
MaxInboxItems int32 `json:"max_inbox_items"`
Language string `json:"language"`
AllowGuest bool `json:"allow_guest"`
ReasoningEnabled bool `json:"reasoning_enabled"`
ReasoningEffort string `json:"reasoning_effort"`
ChatModelID pgtype.UUID `json:"chat_model_id"`
MemoryModelID pgtype.UUID `json:"memory_model_id"`
EmbeddingModelID pgtype.UUID `json:"embedding_model_id"`
SearchProviderID pgtype.UUID `json:"search_provider_id"`
ID pgtype.UUID `json:"id"`
}
type UpsertBotSettingsRow struct {
BotID pgtype.UUID `json:"bot_id"`
MaxContextLoadTime int32 `json:"max_context_load_time"`
MaxContextTokens int32 `json:"max_context_tokens"`
MaxInboxItems int32 `json:"max_inbox_items"`
Language string `json:"language"`
AllowGuest bool `json:"allow_guest"`
ReasoningEnabled bool `json:"reasoning_enabled"`
ReasoningEffort string `json:"reasoning_effort"`
ChatModelID pgtype.UUID `json:"chat_model_id"`
MemoryModelID pgtype.UUID `json:"memory_model_id"`
EmbeddingModelID pgtype.UUID `json:"embedding_model_id"`
SearchProviderID pgtype.UUID `json:"search_provider_id"`
}
func (q *Queries) UpsertBotSettings(ctx context.Context, arg UpsertBotSettingsParams) (UpsertBotSettingsRow, error) {
row := q.db.QueryRow(ctx, upsertBotSettings,
arg.MaxContextLoadTime,
arg.MaxContextTokens,
arg.MaxInboxItems,
arg.Language,
arg.AllowGuest,
arg.ReasoningEnabled,
arg.ReasoningEffort,
arg.ChatModelID,
arg.MemoryModelID,
arg.EmbeddingModelID,
arg.SearchProviderID,
arg.ID,
)
var i UpsertBotSettingsRow
err := row.Scan(
&i.BotID,
&i.MaxContextLoadTime,
&i.MaxContextTokens,
&i.MaxInboxItems,
&i.Language,
&i.AllowGuest,
&i.ReasoningEnabled,
&i.ReasoningEffort,
&i.ChatModelID,
&i.MemoryModelID,
&i.EmbeddingModelID,
&i.SearchProviderID,
)
return i, err
}