Addresses @kartik-mem0's review on mem0#7340, verified against the live
staging profiles API on a neuron:
- generate_profile / sample_profiles accept a caller-supplied idempotency_key,
so retrying a lost request reuses the job instead of creating a second
billable one (Python sync+async and TS)
- TS uses the uuid dependency instead of the global crypto.randomUUID(), which
throws on the supported Node 18 target
- update_profile_settings distinguishes an omitted argument from an explicit
None, so schema / custom_instructions can be cleared (Python sentinel)
- export ProfileJobResponse and ProfileJobStatus; drop the deprecated
ProfileTriggerResponse / ProfileSamplesResponse aliases and the unpopulated
results field; correct usageUnits -> entityCountReserved; add error to
ProfileResponse
- openapi: nest schema / custom_instructions under entities in the settings
request and response, add capabilities, and mark entity_type required on the
job body
- docs sample example polls to a terminal job status with a timeout, then reads
the create response's entity_ids (status.results raised KeyError)
- notebook: include PARTIALLY_SUCCEEDED in terminal states, raise on timeout,
and snapshot/restore project settings so a shared env is left as found
- tests: real job_id create shape, idempotency-key reuse, and clear-with-None
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Remove leftover agent and regenerate references so the docs match the shipped
v1 SDK: drop the entity_type settings argument and the agent entities example
from the guide, and remove the regenerate demo section and cheat-sheet row from
the notebook.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Python mem0ai 2.0.20 -> 2.1.0, TypeScript mem0ai 3.1.8 -> 3.2.0 (minor: new
user-profiles methods). Add matching sdk.mdx entries under the Python and
TypeScript tabs to satisfy the changelog CI gate.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Reduce the User Profiles SDK to the shipped v1 scope: user profiles only,
no full rebuild.
- Remove regenerate_profiles / regenerateProfiles (sync + async, Python + TS)
and the ProfileRegenerateResponse type. Full rebuild is gated off server-side
(409 not_yet_available).
- Drop the entity_type / entityType parameter from get_profile,
generate_profile, sample_profiles, and update_profile_settings; every path
and payload is scoped to "user". Narrow ProfileEntityType to "user".
- Update tests to the user-only surface.
Endpoint paths (/v2/profiles/jobs/, /v2/profiles/settings/,
/v2/entities/user/{id}/profile/) and the per-job Idempotency-Key are unchanged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Hide agent profiles for this release (backend exists but is gated off) and
sync the guide, api-reference, openapi, and llms.txt to the User Profiles
feature head.
Agent removal:
- Drop "users and agents" framing, the entity_type="agent" get_profile
example, and the "profiles for agents" FAQ from the guide.
- Reduce entity_type to user-only in the read path/param/response and the
jobs request body in openapi.json; drop "or agent" from the api-ref and
llms.txt descriptions.
Code sync (verified against the feature head):
- Read example + prose now include generation_count alongside profile,
status, entity_type, entity_id, updated_at.
- Sample flow corrected: sample_profiles returns a job; poll get_profile_job
and read each result's entity, instead of iterating a non-existent
results field on the create response.
- Bulk regenerate is gated off for v1 (FULL_REBUILD_ENABLED=False): remove
it from the guide, openapi operation enum, and the 501 note; keep only
sample and trigger. Idempotency-Key marked required to match the backend.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The ts-sdk CI Lint step (npx prettier --check .) failed on the three
profile client files, which also failed the aggregate CI Gate. Reformat
them with prettier 3.8.4 (the pinned devDependency); whitespace only.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Live e2e against the feature neuron: the profile envelope has no generation_count, and the regenerate cooldown is once per day (86400s), not hourly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Model the profiles feature guide on the Dream guide: add a Plan availability table with eligibility criteria, a 'When profiles update' cadence section, a schema size-budget note, and an FAQ.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>