Open Agent Memory Protocol — Elixir Reference
Elixir types for the Open Agent Memory Protocol (OAMP) v1.
Installation
Add to your mix.exs:
def deps do
[
{:oamp_types, "~> 1.0.0"}
]
endQuick Start
# Create a knowledge entry
entry = OampTypes.Knowledge.Entry.new(
"user-123",
:preference,
"User prefers concise answers",
0.85,
"sess-001"
)
# Validate it
errors = OampTypes.Validate.validate_knowledge_entry(entry)
# Encode to JSON
json = OampTypes.Knowledge.Entry.to_json(entry)
# Decode from JSON
decoded = OampTypes.Knowledge.Entry.from_json(json)
# Create a user model
model = OampTypes.UserModel.Model.new("user-123")Running Tests
cd reference/elixir
mix deps.get
mix testTypes
OampTypes.Knowledge.Entry— a discrete piece of information about a userOampTypes.Knowledge.Store— bulk export/import collectionOampTypes.UserModel.Model— structured understanding of a userOampTypes.KnowledgeCategory— enum::fact,:preference,:pattern,:correctionOampTypes.ExpertiseLevel— enum::novice,:intermediate,:advanced,:expert
Validation
All types include validation functions that return a list of error strings:
errors = OampTypes.Validate.validate_knowledge_entry(entry)
errors = OampTypes.Validate.validate_knowledge_store(store)
errors = OampTypes.Validate.validate_user_model(model)