3.7 KiB
3.7 KiB
API Coverage — Phase 11 (Centrifugo, Typesense, Web Push services)
Full coverage by default. Opt-outs are explicit, reasoned decisions. The PHP clients being ported (websockets
CentrifugoClient, ScoutTypesenseEngine, the websockets push block) define the baseline; D-12 and D-19 make both clients hand-rolled on net/http.
Centrifugo server HTTP API (outbound, plan 11-03 and 11-04)
| capability | decision | reason |
|---|---|---|
| publish | INTEGRATE | |
| broadcast | INTEGRATE | |
| presence | INTEGRATE | |
| unsubscribe | INTEGRATE | |
| info | INTEGRATE | |
| presence_stats | OPT-OUT | not in the PHP CentrifugoClient contract and no Phase 11-15 consumer |
| history | OPT-OUT | not in the PHP CentrifugoClient contract; the Nuxt client does not use history recovery |
| history_remove | OPT-OUT | not in the PHP CentrifugoClient contract and no consumer |
| channels | OPT-OUT | not in the PHP CentrifugoClient contract and no consumer |
| disconnect | OPT-OUT | not in the PHP CentrifugoClient contract; token revocation is not part of the port |
| refresh | OPT-OUT | not in the PHP CentrifugoClient contract; connection tokens expire by exp as in PHP |
| subscribe (server-side) | OPT-OUT | not in the PHP CentrifugoClient contract; clients subscribe through the subscribe proxy |
| batch | OPT-OUT | not needed; PHP sends one request per publish or broadcast |
Centrifugo proxy and token contract (inbound and signed, plan 11-03)
| capability | decision | reason |
|---|---|---|
| subscribe proxy | INTEGRATE | |
| connection token (HS256) | INTEGRATE | |
| subscription token (HS256) | INTEGRATE | |
| anonymous and identifier tokens | INTEGRATE | |
| connect proxy | OPT-OUT | explicitly out of scope — PHP authenticates connections with JWTs, not a connect proxy |
| refresh proxy | OPT-OUT | explicitly out of scope — not configured on the existing Centrifugo server |
| publish proxy | OPT-OUT | explicitly out of scope — clients never publish; the server publishes through the HTTP API |
| sub_refresh proxy | OPT-OUT | explicitly out of scope — not configured on the existing Centrifugo server |
| rpc proxy | OPT-OUT | explicitly out of scope — the Nuxt client makes no Centrifugo RPC calls |
Typesense API (outbound, plan 11-05)
| capability | decision | reason |
|---|---|---|
| collection retrieve | INTEGRATE | |
| collection create | INTEGRATE | |
| collection delete (flush) | INTEGRATE | |
| documents import upsert | INTEGRATE | |
| document delete | INTEGRATE | |
| documents search | INTEGRATE | |
| multi_search | OPT-OUT | not needed — Scout issues single-collection searches |
| delete documents by filter | OPT-OUT | not needed yet — Phase 14 reindex (SRCH-02) decides its own flush strategy |
| collection update (schema alter) | OPT-OUT | not needed — schema changes go through reindex, as in PHP |
| aliases | OPT-OUT | not needed yet — the legacy-index drop belongs to Phase 14 SRCH-02 |
| synonyms and curation overrides | OPT-OUT | not used by the PHP app |
| API keys management | OPT-OUT | explicitly out of scope — keys are operator-provisioned |
| health and metrics | OPT-OUT | not needed — sync failures are logged per request and never block writes |
Web Push service protocol (outbound, plan 11-04)
| capability | decision | reason |
|---|---|---|
| send notification (RFC 8030 push with RFC 8291 payload and RFC 8292 VAPID) | INTEGRATE | |
| message urgency and topic headers | INTEGRATE | |
| receipts (push message receipts) | OPT-OUT | not needed — PHP never requested receipts and push services rarely support them |
| subscription management (store and prune) | OPT-OUT | explicitly out of scope — subscriptions come from an app-provided SubscriptionSource (user decision 3); Płytarium has no store |