CryoThrust commented on issue #12102:
URL: https://github.com/apache/seatunnel/issues/12102#issuecomment-5556601387

   Thanks for calling out the hosted/OSS protocol split. I agree that a 
configurable base URL alone is not a protocol contract. I will revise STIP-38 
to select one profile for Phase 1:
   
   ### Selected Phase-1 profile: Mem0 Platform V3 add pipeline
   
   - **Base URL:** `https://api.mem0.ai` (configurable only as an endpoint 
override for compatible deployments; the profile remains the hosted V3 
contract).
   - **Endpoint:** `POST /v3/memories/add/`.
   - **Authentication:** `Authorization: Token <MEM0_API_KEY>`; the key is a 
secret option and is never logged.
   - **Request:** `messages` plus at least one supported scope (`user_id`, 
`agent_id`, `app_id`, or `run_id`), with optional metadata according to the 
documented V3 schema.
   - **Response:** HTTP success returns an `event_id`; processing is 
asynchronous and can be checked with `GET /v1/event/{event_id}/`.
   
   The connector will call this operation `ADD`, rather than `UPSERT`, because 
an accepted V3 add request is not a synchronous update and does not provide a 
row-level upsert acknowledgement. Phase 1 will acknowledge a row on the 
documented 2xx acceptance response and explicitly claim **at-least-once 
accepted delivery**, not completion. Event polling is outside the first writer 
contract and will be a separate follow-up.
   
   ### Explicit non-goals for this profile
   
   - No DELETE operation in Phase 1. The V3 add profile does not establish a 
single-memory delete endpoint or acknowledgement contract, so the connector 
will reject delete configuration rather than guessing.
   - No self-hosted OSS endpoint support in the same module until a named OSS 
version, exact paths, authentication, response semantics, and deterministic 
tests are agreed as a second profile.
   - No generic “Mem0-compatible” promise across hosted and OSS deployments.
   
   The implementation PR will therefore contain only the V3 add adapter, with 
mock-server coverage for the exact path and `Authorization: Token` header, 
required scope validation, 2xx `event_id` acceptance, malformed responses, 
401/403/other 4xx terminal failures, 408/429/5xx retry classification, and 
redacted diagnostics. The connector will reuse common HTTP configuration where 
possible, but keep provider response/status handling local so the existing 
generic HTTP sink behavior does not weaken this contract.
   
   This should make the Phase-1 API and delivery boundary reviewable without 
implying that hosted V3 and self-hosted OSS are interchangeable. Official 
endpoint reference: https://docs.mem0.ai/api-reference/memory/add-memories


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to