feat: import agents_and_robots platform as unibots (Matrix-out, unibus transport)
Reemplaza el scaffold del echobot por la plataforma completa de bots traida desde ~/DataProyects/Github/agents_and_robots tras la operacion Matrix-out: los bots ya no hablan por Matrix sino por el bus unibus (modelo todo-rooms + E2E via shell/transportunibus sobre github.com/enmanuel/unibus/pkg/client). - go.mod: replace de unibus -> ../unibus y de fn-registry -> ../../../.. (paths relativos reajustados a la nueva ubicacion dentro de fn_registry). - app.md: bump a 0.2.0, descripcion + arquitectura + comandos + gotchas reales. - modulo Go conservado como github.com/enmanuel/agents (sin reescribir imports). agents_and_robots queda archivado como museo de la era Matrix.
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
// Package personality defines pure types for agent personality and behavior.
|
||||
package personality
|
||||
|
||||
type Tone string
|
||||
|
||||
const (
|
||||
ToneDirect Tone = "direct"
|
||||
ToneFriendly Tone = "friendly"
|
||||
ToneFormal Tone = "formal"
|
||||
ToneCasual Tone = "casual"
|
||||
ToneTechnical Tone = "technical"
|
||||
)
|
||||
|
||||
type Verbosity string
|
||||
|
||||
const (
|
||||
VerbosityMinimal Verbosity = "minimal"
|
||||
VerbosityConcise Verbosity = "concise"
|
||||
VerbosityDetailed Verbosity = "detailed"
|
||||
VerbosityVerbose Verbosity = "verbose"
|
||||
)
|
||||
|
||||
type EmojiStyle string
|
||||
|
||||
const (
|
||||
EmojiNone EmojiStyle = "none"
|
||||
EmojiMinimal EmojiStyle = "minimal"
|
||||
EmojiModerate EmojiStyle = "moderate"
|
||||
EmojiHeavy EmojiStyle = "heavy"
|
||||
)
|
||||
|
||||
type ErrorStyle string
|
||||
|
||||
const (
|
||||
ErrorTerse ErrorStyle = "terse"
|
||||
ErrorHelpful ErrorStyle = "helpful"
|
||||
ErrorDetailed ErrorStyle = "detailed"
|
||||
)
|
||||
|
||||
type Formality string
|
||||
|
||||
const (
|
||||
FormalityFormal Formality = "formal"
|
||||
FormalitySemiformal Formality = "semiformal"
|
||||
FormalityCasual Formality = "casual"
|
||||
FormalityColoquial Formality = "coloquial"
|
||||
)
|
||||
|
||||
type Humor string
|
||||
|
||||
const (
|
||||
HumorNone Humor = "none"
|
||||
HumorSubtle Humor = "subtle"
|
||||
HumorModerate Humor = "moderate"
|
||||
HumorFrequent Humor = "frequent"
|
||||
)
|
||||
|
||||
type PersonalityType string
|
||||
|
||||
const (
|
||||
PersonalityAnalytical PersonalityType = "analytical"
|
||||
PersonalityCreative PersonalityType = "creative"
|
||||
PersonalityPragmatic PersonalityType = "pragmatic"
|
||||
PersonalityEmpathetic PersonalityType = "empathetic"
|
||||
PersonalityAssertive PersonalityType = "assertive"
|
||||
)
|
||||
|
||||
type ResponseStyle string
|
||||
|
||||
const (
|
||||
ResponseStructured ResponseStyle = "structured"
|
||||
ResponseConversational ResponseStyle = "conversational"
|
||||
ResponseBulletPoints ResponseStyle = "bullet_points"
|
||||
ResponseNarrative ResponseStyle = "narrative"
|
||||
)
|
||||
|
||||
type Templates struct {
|
||||
Greeting string
|
||||
UnknownCommand string
|
||||
PermissionDenied string
|
||||
Error string
|
||||
Success string
|
||||
Busy string
|
||||
}
|
||||
|
||||
type Behavior struct {
|
||||
Proactive bool
|
||||
AskConfirmation bool
|
||||
ShowReasoning bool
|
||||
ThreadReplies bool
|
||||
TypingIndicator bool
|
||||
AcknowledgeReceipt bool
|
||||
}
|
||||
|
||||
type Communication struct {
|
||||
Formality Formality
|
||||
Humor Humor
|
||||
Personality PersonalityType
|
||||
ResponseStyle ResponseStyle
|
||||
Quirks []string
|
||||
AvoidTopics []string
|
||||
Catchphrases []string
|
||||
}
|
||||
|
||||
type Personality struct {
|
||||
Tone Tone
|
||||
Verbosity Verbosity
|
||||
Language string
|
||||
LanguagesSupported []string
|
||||
EmojiStyle EmojiStyle
|
||||
Prefix string
|
||||
ErrorStyle ErrorStyle
|
||||
Templates Templates
|
||||
Behavior Behavior
|
||||
|
||||
// Identidad narrativa
|
||||
Role string
|
||||
Backstory string
|
||||
Expertise []string
|
||||
Limitations []string
|
||||
|
||||
// Estilo de comunicacion
|
||||
Communication Communication
|
||||
|
||||
// Directivas personalizadas
|
||||
CustomDirectives []string
|
||||
}
|
||||
|
||||
// DefaultPersonality returns a sensible baseline.
|
||||
func DefaultPersonality() Personality {
|
||||
return Personality{
|
||||
Tone: ToneFriendly,
|
||||
Verbosity: VerbosityConcise,
|
||||
Language: "en",
|
||||
EmojiStyle: EmojiMinimal,
|
||||
ErrorStyle: ErrorHelpful,
|
||||
Templates: Templates{
|
||||
Greeting: "Ready. What do you need?",
|
||||
UnknownCommand: "Unknown command. Use `!help` for available commands.",
|
||||
PermissionDenied: "You don't have permission for that.",
|
||||
Error: "Something failed: {{.Error}}",
|
||||
Success: "Done. {{.Summary}}",
|
||||
Busy: "I'm busy with another task. Wait or use `!queue`.",
|
||||
},
|
||||
Behavior: Behavior{
|
||||
AskConfirmation: true,
|
||||
ThreadReplies: true,
|
||||
TypingIndicator: true,
|
||||
AcknowledgeReceipt: true,
|
||||
},
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user