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]
