run402-mcp
Version:
MCP server for Run402 — full-stack backend infrastructure for AI agents: Postgres, auth, storage, serverless functions and atomic deploys. Paid with x402/MPP. Includes $0.03 image generation.
37 lines • 2.07 kB
JavaScript
/**
* Request/response types for the `events` namespace — the cursored project
* events feed (`GET /projects/v1/:project_id/events` and
* `GET /orgs/v1/:org_id/events`).
*
* The feed is the platform's durable, ordered record of operationally
* significant facts (deploy activations, mailbox suspensions, transfers,
* lifecycle cliffs, verification outcomes, and `platform_incident`
* fault-attribution events).
*
* An ORGANIZATION owns each fact and `project_id` says what it is about, so
* three things follow. The org feed is a SUPERSET of the project feeds: it
* also carries organization-level facts, which belong to no project and
* arrive with `project_id: null`. A fact OUTLIVES the project it describes —
* deleting a project no longer erases its history, so a row may name a
* project that no longer exists. And an event's `id` is NOT a page cursor:
* see {@link ProjectEvent.id} and {@link ListEventsOptions.cursor}.
*
* Both tokens are OPAQUE (`evc_…`) — store the page's `cursor`, pass it back
* as `{ cursor }` next time, and never parse either one. The
* platform owns the event vocabulary, `next_actions` synthesis, and reset
* behavior; the SDK passes everything through (index signatures keep unknown
* future fields, including the additive `platform_incidents[]` overlay and
* `platform_status` rider on the page).
*
* The feed also carries app-emitted business facts alongside platform
* events (the `app-events-emit-lane` capability): every row is
* `source`-discriminated — `"app"` for a deployed function's own
* `events.emit(...)` calls, `"platform"` for everything else (the
* platform's internal sources, e.g. `gateway` / `email-lambda`, collapse
* under that one value). `list` / `listForOrg` accept optional `source` and
* `eventType` filters (see {@link ListEventsOptions}); consumers should key
* on `(source, event_type)` together — a platform type added later can
* share a name with an app's own vocabulary, and only the pair disambiguates.
*/
export {};
//# sourceMappingURL=events.types.js.map