@igglepuff/mos-stats
v0.1.0-beta.1
Published
Plug-and-play website integration compatible with the MoS stats helper.
Readme
MoS Stats
@igglepuff/mos-stats is an embeddable website package for tracked-event token discovery and
stats uploads from the existing MoS/Tilt×Tilt helper.
It supplies:
- The exact six helper-compatible public endpoints.
- Hashed App Tokens and discoverable per-event upload tokens.
send_to_appdiscovery controls.- Upload validation, status/deadline gates, exact duplicate prevention, raw request storage, normalized rows, and results history.
- Supabase/PostgreSQL schema and repository.
- Authenticated setup, App Token, tracked event, and results React pages.
- JSON and CSV exports.
There is no invite, invite-code, pairing-code, or desktop-handoff feature. The
required /api/public/my-invites route is an empty compatibility response
because the existing helper fetches that path in parallel with event-token
discovery.
Install
Before registry publication, install the generated package artifact for testing:
npm install /path/to/igglepuff-mos-stats-0.1.0-beta.1.tgzInstall the public prerelease from npm's non-default test tag:
npm install @igglepuff/mos-stats@testDuring website development, apply the included
@igglepuff/mos-stats/supabase/migration.sql migration and connect the package to a
server-side Supabase service client. Once installed, website owners complete
configuration and create App Tokens and tracked events through the included website
pages; they do not need terminal commands.
import { createMosStats } from "@igglepuff/mos-stats";
export const mosStats = createMosStats({
supabaseUrl: process.env.SUPABASE_URL,
serviceRoleKey: process.env.SUPABASE_SERVICE_ROLE_KEY,
getUser: async (request) => {
const user = await yourServerAuth(request);
return user ? { id: user.id } : null;
},
});Keep the service-role key on the server. Delegate the required public routes to
mosStats.handleHelperApi(request) and authenticated /api/mos-stats/*
management routes to mosStats.handleManagementApi(request).
Use the included pages from @igglepuff/mos-stats/react:
import {
MosStatsSetupPage,
MosStatsAppTokensPage,
MosStatsTrackersPage,
MosStatsTrackerResultsPage,
} from "@igglepuff/mos-stats/react";
import "@igglepuff/mos-stats/styles.css";See framework integration and the Lovable installation guide.
Required helper routes
GET /api/public/helper-sync/version
GET /api/public/my-invites
GET /api/public/my-tokens
GET /api/public/token-info
POST /api/public/device-tokens/revoke
POST /api/public/events/:eventId/upload-resultsCompatibility JSON retains the wire-level event object. The package UI calls
the same entity a tracked event. Legacy internal tracker identifiers remain
stable so existing integrations do not break.
Verification
npm test
supabase start
npm run test:integration
cd examples/test-site
npm install
npm run build
npm run devWith the clean site running, npm run prove:helper uses the existing helper's
own discovery and selection module, uploads a helper-shaped payload, and checks
the stored result.
