fc644ecd6e
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.
48 lines
1.8 KiB
Go
48 lines
1.8 KiB
Go
package personality
|
|
|
|
import "github.com/enmanuel/agents/internal/config"
|
|
|
|
// FromConfig convierte PersonalityCfg (config) a Personality (tipo puro).
|
|
// Esta funcion es pura: no tiene side effects.
|
|
func FromConfig(cfg config.PersonalityCfg) Personality {
|
|
return Personality{
|
|
Tone: Tone(cfg.Tone),
|
|
Verbosity: Verbosity(cfg.Verbosity),
|
|
Language: cfg.Language,
|
|
LanguagesSupported: cfg.LanguagesSupported,
|
|
EmojiStyle: EmojiStyle(cfg.EmojiStyle),
|
|
Prefix: cfg.Prefix,
|
|
ErrorStyle: ErrorStyle(cfg.ErrorStyle),
|
|
Templates: Templates{
|
|
Greeting: cfg.Templates.Greeting,
|
|
UnknownCommand: cfg.Templates.UnknownCommand,
|
|
PermissionDenied: cfg.Templates.PermissionDenied,
|
|
Error: cfg.Templates.Error,
|
|
Success: cfg.Templates.Success,
|
|
Busy: cfg.Templates.Busy,
|
|
},
|
|
Behavior: Behavior{
|
|
Proactive: cfg.Behavior.Proactive,
|
|
AskConfirmation: cfg.Behavior.AskConfirmation,
|
|
ShowReasoning: cfg.Behavior.ShowReasoning,
|
|
ThreadReplies: cfg.Behavior.ThreadReplies,
|
|
TypingIndicator: cfg.Behavior.TypingIndicator,
|
|
AcknowledgeReceipt: cfg.Behavior.AcknowledgeReceipt,
|
|
},
|
|
Role: cfg.Role,
|
|
Backstory: cfg.Backstory,
|
|
Expertise: cfg.Expertise,
|
|
Limitations: cfg.Limitations,
|
|
Communication: Communication{
|
|
Formality: Formality(cfg.Communication.Formality),
|
|
Humor: Humor(cfg.Communication.Humor),
|
|
Personality: PersonalityType(cfg.Communication.Personality),
|
|
ResponseStyle: ResponseStyle(cfg.Communication.ResponseStyle),
|
|
Quirks: cfg.Communication.Quirks,
|
|
AvoidTopics: cfg.Communication.AvoidTopics,
|
|
Catchphrases: cfg.Communication.Catchphrases,
|
|
},
|
|
CustomDirectives: cfg.CustomDirectives,
|
|
}
|
|
}
|