application public active Verified 2026-04-29

Topolo Developers

Standalone developer application with a public signup entrypoint, the Developers-owned Topolo app store read model, and the authenticated workspace-backed console where publishers manage apps, App Store taxonomy-backed section/category marketing metadata, launcher deep-link exposure, Android/iOS mobile artifacts, submissions, and build requests while internal operators review app submissions, set app visibility/status, manage developer commerce controls, configure app pricing, and track payout readiness from staff-only routes inside the same product.

Documentation Map

What It Is

Standalone developer application with a public signup entrypoint, the Developers-owned Topolo app store read model, and the authenticated workspace-backed console where publishers manage apps, App Store taxonomy-backed section/category marketing metadata, launcher deep-link exposure, Android/iOS mobile artifacts, submissions, and build requests while internal operators review app submissions, set app visibility/status, manage developer commerce controls, configure app pricing, and track payout readiness from staff-only routes inside the same product.

Architecture

Owners: platform-experience

Source repos: PlatformApplications/TopoloDevelopers

Dependencies: topolo-auth, topolo-one, topolo-p2p

Repo shape

  • PlatformApplications/TopoloDevelopers/functions/
  • PlatformApplications/TopoloDevelopers/index.html
  • PlatformApplications/TopoloDevelopers/migrations/
  • PlatformApplications/TopoloDevelopers/package-lock.json
  • PlatformApplications/TopoloDevelopers/package.json
  • PlatformApplications/TopoloDevelopers/postcss.config.cjs
  • PlatformApplications/TopoloDevelopers/public/
  • PlatformApplications/TopoloDevelopers/scripts/
  • PlatformApplications/TopoloDevelopers/src/
  • PlatformApplications/TopoloDevelopers/tailwind.config.js
  • PlatformApplications/TopoloDevelopers/test/
  • PlatformApplications/TopoloDevelopers/topolo.cloudcontrol.json
  • PlatformApplications/TopoloDevelopers/tsconfig.json
  • PlatformApplications/TopoloDevelopers/tsconfig.node.json
  • PlatformApplications/TopoloDevelopers/vite.config.ts
  • PlatformApplications/TopoloDevelopers/workers/
  • PlatformApplications/TopoloDevelopers/wrangler.toml

Runtime Surfaces

Hosts:

https://developers.topolo.app https://staging.topolo-developers-staging.pages.dev
topolo-catalog-cron

Config: PlatformApplications/TopoloDevelopers/workers/catalog-cron/wrangler.toml

Main: src/index.ts

Routes: workers.dev or asset-only surface

topolo-developers

Config: PlatformApplications/TopoloDevelopers/wrangler.toml

Main: not declared

Routes: workers.dev or asset-only surface

API Reference

Coverage: curated

Source: PlatformApplications/TopoloDevelopers/src/App.tsx

Source exists in repo: yes

Topolo Developers owns its own Pages Functions + D1 backend for authenticated workspace summary, onboarding, app drafts, Android/iOS mobile artifact records, public /api/apps catalog output, Developers-owned /api/store/catalog, /api/store/search, and /api/store/apps/:idOrSlug app store reads for TopoloOne and public store surfaces, app submissions, build requests, transfer codes, internal review workflows, app commerce controls, payout-account state, payout ledger events, P2P capability source records plus the public /api/p2p/capabilities/:id read-through endpoint, scaffold-provisioning routes for authenticated developer self-service, first-party Topolo scaffold registration into the Topolo-owned developer workspace, and per-app launcher quick-link authoring through the signed marketing editor. That D1 schema is now migration-managed from checked-in SQL in the Developers repo rather than being created on request. The app still exposes shared public landing and first-party embedded password-login surfaces at / and /login plus a dedicated public signup handoff at /signup, creates the org-backed developer workspace in Auth during signup, treats that workspace as the publisher boundary for many developer apps, and consumes Auth only for identity, central API-key surfaces, app-switcher entitlements, approved-app registration into the shared service catalog, install/launch authorization, and Auth-hosted end-user OAuth consent for registered third-party clients. The legacy Developers browser consent route forwards to Auth and must not require developer workspace admission. Developer apps now also carry explicit ownerType, portfolio, audience, tenancy, surfaceModel, optional containerAppId, distribution metadata, and launcher quick-link metadata so Topolo first-party platform/personal apps stay distinct from third-party business/personal apps, organization-internal apps stay private to the owning workspace, and the shared launcher can surface publisher-approved deep links without hardcoded per-app command lists. App visibility and mutation resolve from workspace org membership plus per-app owner/editor/viewer membership metadata, owner-issued transfer codes with destination-workspace claim, built-in developer_app API-key resource bindings for approved apps, explicit review:read/review:write permissions for staff-only review routes, explicit commerce:read/commerce:write permissions or Topolo super-admin access for staff-only commerce routes, the production Topolo Technology developer profile and first-party platform plus mobile app rows used to exercise the publisher workflow as Topolo, the Topolo Mobile records for the 22 retained Flutter apps under TopoloMobileApps with finalized app.topolo.mobile.* identifiers and Android APK artifacts published to the shared topolo-apks R2 bucket through apk.topolo.app, cleanup for 8 retired one-off mobile app records, the completed demo-suite developer profile used for platform auth audits, and the repo-level CI gate recorded in CloudControl.

App API page: /reference/apps/topolo-developers

This system currently relies on a curated or README-derived contract surface instead of a source-controlled OpenAPI spec.

Auth and Permissions

Depends on Topolo Auth: yes

Service IDs:

svc_topolo_developers

API key scopes

apps.read

View workspace-owned developer apps

Resource pattern: none

apps.write

Create and update workspace-owned developer apps

Resource pattern: none

commerce.read

View internal developer commerce controls

Resource pattern: none

commerce.write

Manage developer workspace commerce, marketplace, pricing, payout-account, and payout-ledger state

Resource pattern: none

credentials.read

View Auth-backed API keys and service access

Resource pattern: none

credentials.write

Create and revoke Auth-backed API keys and service access

Resource pattern: none

marketplace.read

View internal marketplace operations and launch-readiness controls

Resource pattern: none

marketplace.write

Manage internal marketplace operations, launch-readiness status, and featured catalogue placement

Resource pattern: none

requests.read

View developer build requests created by the current workspace

Resource pattern: none

requests.write

Create and manage developer build requests for the current workspace

Resource pattern: none

review.read

View internal app-submission and build-request review queues

Resource pattern: none

review.write

Review app submissions and build requests from the internal staff queue

Resource pattern: none

settings.read

View developer workspace settings

Resource pattern: none

settings.write

Manage developer workspace settings

Resource pattern: none

submissions.read

View public catalogue submission state and review notes

Resource pattern: none

submissions.write

Create and resubmit public catalogue submissions

Resource pattern: none

workspace.read

View developer workspace summary and onboarding state

Resource pattern: none

workspace.write

Manage developer workspace onboarding and profile state

Resource pattern: none

Service permissions

apps:read, apps:write, commerce:read, commerce:write, credentials:read, credentials:write, marketplace:read, marketplace:write, requests:read, requests:write, review:read, review:write, settings:read, settings:write, submissions:read, submissions:write, workspace:read, workspace:write

Data Ownership

d1

Binding: DEVELOPERS_DB

Target: ab11dc42-6af0-4026-83ec-def345ca7bd3

Environment: default

Source: PlatformApplications/TopoloDevelopers/wrangler.toml

r2

Binding: MOBILE_ARTIFACTS

Target: topolo-apks

Environment: default

Source: PlatformApplications/TopoloDevelopers/wrangler.toml

vectorize

Binding: VECTORIZE

Target: topolo-apps

Environment: default

Source: PlatformApplications/TopoloDevelopers/wrangler.toml

d1

Binding: DEVELOPERS_DB

Target: c37c0a93-2bfb-44d9-82b3-9176e5225f70

Environment: preview

Source: PlatformApplications/TopoloDevelopers/wrangler.toml

vectorize

Binding: VECTORIZE

Target: topolo-apps-staging

Environment: preview

Source: PlatformApplications/TopoloDevelopers/wrangler.toml

Queues / Cron / Workflows

Queue bindings:

No queue bindings were detected.

Cron triggers

  • */5 * * * * via PlatformApplications/TopoloDevelopers/workers/catalog-cron/wrangler.toml

Workflow signals

  • cron */5 * * * *

Environment Variables and Bindings

Environment variables:

AUTH_API_URL CATALOG_EMBEDDINGS_URL P2P_API_URL

All wrangler bindings

  • DEVELOPERS_DB (d1) -> ab11dc42-6af0-4026-83ec-def345ca7bd3
  • MOBILE_ARTIFACTS (r2) -> topolo-apks
  • VECTORIZE (vectorize) -> topolo-apps
  • DEVELOPERS_DB (d1) -> c37c0a93-2bfb-44d9-82b3-9176e5225f70 [preview]
  • VECTORIZE (vectorize) -> topolo-apps-staging [preview]

Deployments

Deployment environments: preview

Routes: workers.dev or Pages-only delivery

Observability enabled: yes

Wrangler surfaces

  • PlatformApplications/TopoloDevelopers/workers/catalog-cron/wrangler.toml -> topolo-catalog-cron
  • PlatformApplications/TopoloDevelopers/wrangler.toml -> topolo-developers

Build and deploy commands

  • build — PlatformApplications/TopoloDevelopers/package.json :: tsc && vite build --mode production
  • build:staging — PlatformApplications/TopoloDevelopers/package.json :: env VITE_PORTAL_URL=https://developers.stg.topolo.us VITE_AUTH_URL=https://auth.stg.topolo.us VITE_TOPOLO_AUTH_URL=https://auth.stg.topolo.us sh -c 'tsc && vite build --mode production'
  • build:functions — PlatformApplications/TopoloDevelopers/package.json :: wrangler pages functions build functions --project-directory . --outdir .wrangler/functions-build
  • preview — PlatformApplications/TopoloDevelopers/package.json :: vite preview
  • deploy:staging — PlatformApplications/TopoloDevelopers/package.json :: rm -f node_modules/.cache/wrangler/pages.json node_modules/.cache/wrangler/wrangler-account.json && rm -rf dist && npm run build:staging && CLOUDFLARE_ACCOUNT_ID=4f4e1c69a3830946f9fea7b1eb7531ac wrangler pages deploy dist --project-name topolo-developers-staging --branch staging --commit-dirty=true
  • deploy — PlatformApplications/TopoloDevelopers/workers/catalog-cron/package.json :: wrangler deploy

Failure Modes

  • Neither OpenAPI nor README-derived interface detail was found.

Debugging Runbooks

Start with these entrypoints:

  • PlatformApplications/TopoloDevelopers/workers/catalog-cron/wrangler.toml
  • PlatformApplications/TopoloDevelopers/wrangler.toml
  • PlatformApplications/TopoloDevelopers/src/App.tsx
  • PlatformApplications/TopoloDevelopers/package.json
  • PlatformApplications/TopoloDevelopers/workers/catalog-cron/package.json

Change Log / Verification

Lifecycle: active

Last verified: 2026-04-29

Any code change to this system is expected to update the canonical docs in PlatformApplications/TopoloDocs and refresh the verification date.