feat: initial commit

This commit is contained in:
2026-04-16 19:39:02 +02:00
commit 50d1686b1e
44 changed files with 2089 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
package entity
type Intent struct {
Name string
Confidence float64
Entities map[string]any
}
type RouteTargetType string
const (
RouteTargetN8n RouteTargetType = "n8n"
RouteTargetAIAgent RouteTargetType = "ai_agent"
RouteTargetBuiltin RouteTargetType = "builtin"
)
type RouteTarget struct {
Type RouteTargetType
WorkflowID string
Endpoint string
}
type Route struct {
Pattern string
IntentName string
Target RouteTarget
Priority int
}

View File

@@ -0,0 +1,29 @@
package entity
import "time"
type MessageType string
const (
MessageTypeText MessageType = "text"
MessageTypeVoice MessageType = "voice"
)
type Message struct {
MessageID int64
ChatID int64
UserID int64
Username string
Type MessageType
Text string
VoiceFileID string
Timestamp time.Time
Metadata map[string]any
}
type VoiceMessage struct {
FileID string
Duration int
MimeType string
FileSize int
}

View File

@@ -0,0 +1,22 @@
package entity
import "time"
type User struct {
TelegramID int64
Username string
FirstName string
LastName string
Language string
CreatedAt time.Time
}
type Session struct {
UserID int64
ChatID int64
CurrentWorkflow string
History []Message
Data map[string]any
UpdatedAt time.Time
TTL int // hours
}

View File

@@ -0,0 +1,29 @@
package entity
import "time"
type WorkflowRequest struct {
RequestID string
ChatID int64
UserID int64
Username string
MessageText string
Intent Intent
Session Session
Timestamp time.Time
Metadata map[string]any
}
type Action struct {
Type string
Key string
Value any
}
type WorkflowResponse struct {
RequestID string
ReplyText string
Actions []Action
NextWorkflow string
Error error
}