Files
unibots/pkg/personality/convert.go
T
agent fc644ecd6e 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.
2026-06-07 11:50:13 +02:00

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,
}
}