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,47 @@
|
||||
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,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user