1 USD ≈ 27,000 credits · display only
Reference rate may change over time.
1 USD ≈ 27,000 credits · display only
Reference rate may change over time.
Run after changes to portal UI (docs/.vitepress/theme/) or gateway REST used by the portal.
gw_access_token in browser)npm run docs:stack (docs :5173 + API :3001) or remote gateway via GATEWAY_PROXY_TARGETRun once per dealer before release — see config/tenants.README.md in the repo root.
http://localhost:5173/app/, login, /ai/me / credits use GOMMO_API_DOMAIN from envhttp://localhost:5173/login/?tenant=vmedia (no UI dealer list), login with vmedia.ai account?tenant= when set; sign out if token is for wrong dealerGET /gateway/site returns only active tenant (no tenants[] list)npm run docs:build + npx vitepress preview docs: ?tenant=vmedia on localhost must not switch dealer; http://vmedia.localhost:4173/ (hosts file) must bind vmediaManual product chat job flows (inline form → submit → result): maintainer checklist Product chat E2E (signed-in, docs:stack).
npm run theme:test
npm run test:aggregate
npm run portal:smoke # HTTP 200 + HTML fragments (needs docs:stack)
npm run gateway:smoke # API error envelope on login, /ai/me, models (needs API :3001)/app/) /app/credits//app/playground/) Immersive embed — no app sidebar/header. See API Playground (redirects here).
/app/playground/resultUrl in response / preview?worker=create-video, etc.)?model= pre-filled/app/chat/) Product mode (default) — full checklist: Product chat E2E. Quick pass:
còn bao nhiêu credit, affiliate) → portal chips, no inline job formPOST /gateway/chat includes mediaModelContext.account on product turnsnpm run portal:browser:test -- tests/browser/chat-product-inline.spec.ts tests/browser/chat-product-intents.spec.ts/app/activity/) See Activity hub for URL params. Quick pass:
?model=; cache tooltip; job modal ?job= per row?period= sync/app/token/) /app/files/) /app/byok/) See BYOK reference and BYOK production checklist. Quick pass:
/app/observability/) Handoff checklist: doc/OBSERVABILITY-TEST.md (not payment webhooks — use Credits for top-up). Quick pass:
/app/credits/) See Billing & credits. Quick pass:
/app/profile/) npm run theme:test # URL helpers, usage normalize
npm run test:aggregate # usage aggregate cache (Activity Overview)
npm run portal:smoke # route + fragment checks (docs :5173 + API :3001)
node scripts/verify-request-tab.mjs # Playground response tab pin (needs docs:stack)