tercul-backend/internal/jobs/linguistics/registry.go
google-labs-jules[bot] 8797cec718 Refactor: In-progress refactoring to fix build.
This commit includes the following changes:
- Refactored all data repositories in `internal/data/sql/` to use a consistent `sql` package and to align with the new `domain` models.
- Fixed the GraphQL structure by moving the server creation logic from `internal/app` to `cmd/api`, which resolved an import cycle.
- Corrected numerous incorrect import paths for packages like `graph`, `linguistics`, `syncjob`, and the legacy `models` package.
- Resolved several package and function redeclaration errors.
- Removed legacy migration code.
2025-09-05 15:11:30 +00:00

50 lines
979 B
Go

package linguistics
// Registry holds all the text analysis services
type Registry struct {
Lang *LanguageDetector
Tok *Tokenizer
Pos *POSTagger
Lem *Lemmatizer
Phon *PhoneticEncoder
Key *KeywordExtractor
Poet *PoeticAnalyzer
}
// DefaultRegistry creates a new Registry with default implementations
func DefaultRegistry() *Registry {
return &Registry{
Lang: NewLanguageDetector(),
Tok: NewTokenizer(),
Pos: NewPOSTagger(),
Lem: NewLemmatizer(),
Phon: NewPhoneticEncoder(),
Key: NewKeywordExtractor(),
Poet: NewPoeticAnalyzer(),
}
}
// Text represents a text to be analyzed
type Text struct {
ID uint
Body string
Language string
}
// Token represents a token in a text
type Token struct {
Text string
Position int
Offset int
Length int
}
// PoeticMetrics represents metrics from poetic analysis
type PoeticMetrics struct {
RhymeScheme string
MeterType string
StanzaCount int
LineCount int
Structure string
}