Developer-console web surface for StreamSuites, intended for deployment on Cloudflare Pages at https://console.streamsuites.app.
- Public-facing intake for feedback, feature requests, and beta applications.
- Authenticated developer-facing shell for the dashboard, reports hub, and later API-access tooling.
- Static web surface only. Runtime state, auth, submissions, approvals, and future API key authority remain in
StreamSuites.
css/app.cssnow supplies the shared Studio-first typography and a technical graphite/violet console treatment with controlled orange attention states. The refresh covers the public landing, feedback, beta, login/success, authenticated dashboard, reports, report submission, keys placeholder, empty/loading/error states, tables, forms, metadata, and mobile drawer without creating a fake terminal or unsupported API-token UI.- Tektur is used for product and top-level console identity, Geist Sans for body copy and controls, and IBM Plex Mono for API-like paths, statuses, artifact/report metadata, IDs, timestamps, and code. Local files live at
assets/fonts/Tektur-VariableFont_wdth,wght.ttf,assets/fonts/Geist-{Light,Regular,Medium,SemiBold,Bold,ExtraBold}.ttf, andassets/fonts/mono/IBMPlexMono-{Light,Regular,Medium,SemiBold,Bold}.ttf. - The files were copied byte-for-byte from the approved read-only Public font set. Genuine license files are
assets/fonts/GEISTMONOOFL.txtandassets/fonts/mono/IBMPLEXMONOOFL.txt; no genuine Tektur license file is available locally, so font publication remains blocked. - The landing now presents the console as the technical gateway into Browser Studio, native StudioApp, Studio for OBS, and Runtime/Auth. Existing access gates, report/feedback endpoints, artifacts, aliases, sessions, fallbacks, and reserved
/keystruthfulness are preserved. - Responsive layout, visible focus, table containment, and reduced motion are handled in
css/app.css. Validation remainsnode --test tests/*.test.mjs; this static repository has no package build step.
StreamSuitesowns auth/session authority, authoritative validation, submission persistence, artifact handling, and admin-review APIs.StreamSuites-Dashboardconsumes the same runtime-owned intake records for admin review.StreamSuites-Public /requestsis expected to redirect here, tohttps://console.streamsuites.app/feedback.- This repo does not create an alternate identity system or canonical submission store.
/public landing and routing hub/feedbackstandalone public feedback and request intake plus approved request board/betastandalone public beta-program landing/beta/applystandalone public beta application form/dashboardauthenticated console home inside the sidebar/topbar shell/reportsauthenticated reports hub inside the sidebar/topbar shell/reports/submitcanonical standalone authenticated developer-only technical reporting route/keysauthenticated placeholder for future API key management inside the sidebar/topbar shell/loginsign-in handoff using existing StreamSuites auth flows, now with auth-gate bypass parity and provider icons/login-successauth-success return surface- legacy
/auth/loginand/auth/successURLs redirect to the browser routes above - legacy
/report/submitredirects to canonical/reports/submit
- This repo is Pages-oriented static HTML plus Pages Functions proxy routes.
- Browser requests stay same-origin and proxy to the authoritative Auth/API runtime through
functions/api,functions/auth, andfunctions/oauth. - Start from
.env.examplefor local environment notes. Actual Cloudflare/environment setup steps are inDEPLOYMENT_SETUP.md.
- Canonical production hostname in this repo is
console.streamsuites.app. - Future aliasing such as
developer.streamsuites.appshould be additive and must not move runtime authority into this repo. - Manual post-code setup steps are documented in
DEPLOYMENT_SETUP.md; this task does not create the Pages project, DNS, or domain attachment.
StreamSuites-Developer/
├── .env.example
├── .gitignore
├── _headers
├── _redirects
├── BUMP_NOTES.md
├── DEPLOYMENT_SETUP.md
├── README.md
├── index.html
├── auth/
│ ├── login/
│ │ └── index.html
│ └── success/
│ └── index.html
├── beta/
│ ├── index.html
│ └── apply/
│ └── index.html
├── css/
│ ├── app.css
│ └── status-widget.css
├── dashboard/
│ └── index.html
├── feedback/
│ └── index.html
├── functions/
│ ├── _shared/
│ │ └── auth-api-proxy.js
│ ├── api/
│ │ └── [[path]].js
│ ├── auth/
│ │ └── [[path]].js
│ └── oauth/
│ └── [[path]].js
├── js/
│ ├── api.js
│ ├── auth.js
│ ├── auth-success.js
│ ├── beta-apply.js
│ ├── config.js
│ ├── dashboard.js
│ ├── feedback.js
│ ├── keys.js
│ ├── login.js
│ ├── report-surface-catalog.mjs
│ ├── report-submit.js
│ ├── reports.js
│ ├── status-widget.js
│ └── utils/
│ ├── global-loader.js
│ ├── version-stamp.js
│ └── versioning.js
├── keys/
│ └── index.html
├── login/
│ └── index.html
├── login-success/
│ └── index.html
├── report/
│ └── submit/
│ └── index.html
├── reports/
│ ├── index.html
│ └── submit/
│ └── index.html
├── runtime/
│ └── exports/
│ └── version.json
├── tests/
│ └── developer-access-gating.test.mjs
└── assets/
├── fonts/
│ ├── Tektur-VariableFont_wdth,wght.ttf
│ ├── Geist-{Light,Regular,Medium,SemiBold,Bold,ExtraBold}.ttf
│ ├── GEISTMONOOFL.txt
│ └── mono/
│ ├── IBMPlexMono-{Light,Regular,Medium,SemiBold,Bold}.ttf
│ └── IBMPLEXMONOOFL.txt
└── ... (existing shared brand/media asset tree, including icons/ui/ss-admin.svg, ss-creator.svg, ss-developer.svg, ss-public.svg)