* Add tools for creating, retrieving, updating, and deleting thoughts. * Implement project management tools for creating and listing projects. * Introduce linking functionality between thoughts. * Add search and recall capabilities for thoughts based on semantic queries. * Implement statistics and summarization tools for thought analysis. * Create database migrations for thoughts, projects, and links. * Add helper functions for UUID parsing and project resolution.
32 lines
504 B
Go
32 lines
504 B
Go
package tools
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"git.warky.dev/wdevs/amcs/internal/config"
|
|
)
|
|
|
|
func normalizeLimit(limit int, cfg config.SearchConfig) int {
|
|
if limit <= 0 {
|
|
return cfg.DefaultLimit
|
|
}
|
|
if limit > cfg.MaxLimit {
|
|
return cfg.MaxLimit
|
|
}
|
|
return limit
|
|
}
|
|
|
|
func normalizeThreshold(value float64, fallback float64) float64 {
|
|
if value <= 0 {
|
|
return fallback
|
|
}
|
|
if value > 1 {
|
|
return 1
|
|
}
|
|
return value
|
|
}
|
|
|
|
func errInvalidInput(message string) error {
|
|
return fmt.Errorf("invalid input: %s", message)
|
|
}
|