New Features:
- Client: Add User Profiles to
MemoryClientandAsyncMemoryClient:get_profile(),generate_profile(),get_profile_settings(),update_profile_settings(),sample_profiles(), andget_profile_job(). A profile is a structured, always-current JSON summary of one user, shaped by a JSON Schema you configure per project and filled by an LLM from that user's memories. Generation is asynchronous. Every job POST carries anIdempotency-Key; to retry a lost request without starting a second job, pass the sameidempotency_keyon each attempt (#7340)
Bug Fixes:
- Vector Stores: Guard against
Nonetimestamps in the Valkey vector store'sinsert()andupdate()paths.created_atandupdated_atfields that were present in the payload but set toNonepreviously passed the"created_at" not in payload/"updated_at" in payloadchecks and raisedTypeErrorwhendatetime.fromisoformat()receivedNone. Both paths now use.get()with a truthiness check soNonevalues fall through to the default, matching the Redis provider's behavior (#6993)