application public active Verified 2026-04-27

Social Studio

Hybrid desktop and web production surface for social planning, generation, review, and export. This is the only live Studio-branded application in the suite.

Documentation Map

What It Is

Hybrid desktop and web production surface for social planning, generation, review, and export. This is the only live Studio-branded application in the suite.

Canonical documentation for Social Studio lives in `PlatformApplications/TopoloDocs`.

Use this repository for implementation only. Runtime shape, deployment guidance, auth behavior, and Nexus integration boundaries are canonical in the docs application.

Local files under `docs/adr` and `docs/architecture` may still exist as engineering design artifacts, but they are not the authoritative platform docs surface.

Architecture

Owners: socialize

Source repos: PlatformApplications/TopoloSocialStudio

Dependencies: topolo-auth, applications-packages, topolo-nexus

Repo shape

  • PlatformApplications/TopoloSocialStudio/README.md
  • PlatformApplications/TopoloSocialStudio/apps/
  • PlatformApplications/TopoloSocialStudio/docs/
  • PlatformApplications/TopoloSocialStudio/e2e/
  • PlatformApplications/TopoloSocialStudio/eslint.config.mjs
  • PlatformApplications/TopoloSocialStudio/migration.config.ts
  • PlatformApplications/TopoloSocialStudio/output/
  • PlatformApplications/TopoloSocialStudio/package.json
  • PlatformApplications/TopoloSocialStudio/packages/
  • PlatformApplications/TopoloSocialStudio/playwright.config.ts
  • PlatformApplications/TopoloSocialStudio/pnpm-lock.yaml
  • PlatformApplications/TopoloSocialStudio/pnpm-workspace.yaml
  • PlatformApplications/TopoloSocialStudio/prettier.config.mjs
  • PlatformApplications/TopoloSocialStudio/topolo.cloudcontrol.json
  • PlatformApplications/TopoloSocialStudio/tsconfig.base.json
  • PlatformApplications/TopoloSocialStudio/tsconfig.json
  • PlatformApplications/TopoloSocialStudio/vitest.config.ts

Runtime Surfaces

Hosts:

https://studio.topolo.app https://topolo-social-studio.pages.dev
topolo-social-studio-api

Config: PlatformApplications/TopoloSocialStudio/apps/api-worker/wrangler.toml

Main: src/index.ts

Routes: workers.dev or asset-only surface

topolo-social-studio

Config: PlatformApplications/TopoloSocialStudio/apps/marketing-web/wrangler.toml

Main: not declared

Routes: workers.dev or asset-only surface

topolo-social-studio-queue

Config: PlatformApplications/TopoloSocialStudio/apps/queue-worker/wrangler.toml

Main: src/index.ts

Routes: workers.dev or asset-only surface

API Reference

Coverage: curated

Source: PlatformApplications/TopoloSocialStudio/package.json

Source exists in repo: yes

Canonical public and internal docs now cover the hybrid desktop, worker, and Nexus-backed AI generation model. The marketing web and desktop shells delegate browser login handoff and one-time sso_code callback redemption to the shared Topolo auth client through the Social Studio application wrapper, with callback effects kept single-pass so one status update cannot cancel the active exchange/bootstrap. The authenticated web and desktop shells render through `TopoloAppShell`, inheriting the shared account, launcher, Improve Topolo, and TopoloNotify chrome while keeping Studio project navigation product-owned. Nexus owns the org-wide image-generation default and allowed model catalog for Studio workspaces, while the generate step may expose per-run inline overrides only to callers with the required workspace authority. Production Auth must keep the Social Studio manifest permissions, role bundles, API-key scopes, and organization-scoped grants synced so bootstrap receives current service permissions.

App API page: /reference/apps/topolo-social-studio

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:

srv_topolo_social_studio

API key scopes

api_keys.write

Manage Social Studio machine credentials

Resource pattern: none

approvals.write

Approve and route creative work

Resource pattern: none

assets.read

View creative assets and generated outputs

Resource pattern: none

assets.write

Upload and manage creative assets

Resource pattern: none

briefs.read

View creative briefs and production requests

Resource pattern: none

briefs.write

Create and manage creative briefs

Resource pattern: none

exports.read

View export history and delivery status

Resource pattern: none

generation.write

Start and manage generation workflows

Resource pattern: none

settings.write

Manage workspace and delivery settings

Resource pattern: none

workspace.read

Load creative workspace state and planning queues

Resource pattern: none

workspace.write

Manage workspace setup and operating workflow

Resource pattern: none

Service permissions

api_keys:write, approvals:write, assets:read, assets:write, briefs:read, briefs:write, exports:read, generation:write, settings:write, workspace:read, workspace:write

Data Ownership

d1

Binding: DB

Target: 5795da0f-0a68-4d5b-b420-761592a09330

Environment: default

Source: PlatformApplications/TopoloSocialStudio/apps/api-worker/wrangler.toml

r2

Binding: ASSET_BUCKET

Target: topolo-social-studio-assets

Environment: default

Source: PlatformApplications/TopoloSocialStudio/apps/api-worker/wrangler.toml

d1

Binding: DB

Target: TODO_CREATE_TOPOLO_SOCIAL_STUDIO_STAGING_D1

Environment: staging

Source: PlatformApplications/TopoloSocialStudio/apps/api-worker/wrangler.toml

r2

Binding: ASSET_BUCKET

Target: topolo-social-studio-staging-assets

Environment: staging

Source: PlatformApplications/TopoloSocialStudio/apps/api-worker/wrangler.toml

d1

Binding: DB

Target: 5795da0f-0a68-4d5b-b420-761592a09330

Environment: default

Source: PlatformApplications/TopoloSocialStudio/apps/queue-worker/wrangler.toml

r2

Binding: ASSET_BUCKET

Target: topolo-social-studio-assets

Environment: default

Source: PlatformApplications/TopoloSocialStudio/apps/queue-worker/wrangler.toml

d1

Binding: DB

Target: TODO_CREATE_TOPOLO_SOCIAL_STUDIO_STAGING_D1

Environment: staging

Source: PlatformApplications/TopoloSocialStudio/apps/queue-worker/wrangler.toml

r2

Binding: ASSET_BUCKET

Target: topolo-social-studio-staging-assets

Environment: staging

Source: PlatformApplications/TopoloSocialStudio/apps/queue-worker/wrangler.toml

Queues / Cron / Workflows

Queue bindings:

  • DESKTOP_SYNC_QUEUE_BINDING -> topolo-social-studio-sync
  • GENERATION_QUEUE -> topolo-social-studio-generation
  • DESKTOP_SYNC_QUEUE_BINDING -> topolo-social-studio-staging-sync (staging)
  • GENERATION_QUEUE -> topolo-social-studio-staging-generation (staging)

Cron triggers

No cron triggers were detected.

Workflow signals

  • DESKTOP_SYNC_QUEUE_BINDING -> topolo-social-studio-sync
  • GENERATION_QUEUE -> topolo-social-studio-generation
  • DESKTOP_SYNC_QUEUE_BINDING -> topolo-social-studio-staging-sync
  • GENERATION_QUEUE -> topolo-social-studio-staging-generation

Environment Variables and Bindings

Environment variables:

ADDITIONAL_ALLOWED_ORIGINS API_WORKER_URL APP_ENV AUTH_BASE_URL BILLING_SUPPORT_CONTACT DESKTOP_APP_URL DESKTOP_SYNC_QUEUE GENERATION_QUEUE_NAME MARKETING_APP_URL QUEUE_CONSUMER_NAME TOPOLO_AUTH_SERVICE_ID TOPOLO_BUG_REPORTER_URL TOPOLO_LAUNCHER_URL

All wrangler bindings

  • DB (d1) -> 5795da0f-0a68-4d5b-b420-761592a09330
  • ASSET_BUCKET (r2) -> topolo-social-studio-assets
  • DESKTOP_SYNC_QUEUE_BINDING (queue) -> topolo-social-studio-sync
  • GENERATION_QUEUE (queue) -> topolo-social-studio-generation
  • DB (d1) -> TODO_CREATE_TOPOLO_SOCIAL_STUDIO_STAGING_D1 [staging]
  • ASSET_BUCKET (r2) -> topolo-social-studio-staging-assets [staging]
  • DESKTOP_SYNC_QUEUE_BINDING (queue) -> topolo-social-studio-staging-sync [staging]
  • GENERATION_QUEUE (queue) -> topolo-social-studio-staging-generation [staging]
  • DB (d1) -> 5795da0f-0a68-4d5b-b420-761592a09330
  • ASSET_BUCKET (r2) -> topolo-social-studio-assets
  • DB (d1) -> TODO_CREATE_TOPOLO_SOCIAL_STUDIO_STAGING_D1 [staging]
  • ASSET_BUCKET (r2) -> topolo-social-studio-staging-assets [staging]

Deployments

Deployment environments: staging

Routes: workers.dev or Pages-only delivery

Observability enabled: yes

Wrangler surfaces

  • PlatformApplications/TopoloSocialStudio/apps/api-worker/wrangler.toml -> topolo-social-studio-api
  • PlatformApplications/TopoloSocialStudio/apps/marketing-web/wrangler.toml -> topolo-social-studio
  • PlatformApplications/TopoloSocialStudio/apps/queue-worker/wrangler.toml -> topolo-social-studio-queue

Build and deploy commands

  • build — PlatformApplications/TopoloSocialStudio/package.json :: pnpm -r --if-present build
  • desktop:build:local — PlatformApplications/TopoloSocialStudio/package.json :: pnpm --filter @topolo-social-studio/desktop desktop:build:local
  • desktop:build:staging — PlatformApplications/TopoloSocialStudio/package.json :: pnpm --filter @topolo-social-studio/desktop desktop:build:staging
  • desktop:build:production — PlatformApplications/TopoloSocialStudio/package.json :: pnpm --filter @topolo-social-studio/desktop desktop:build:production
  • build — PlatformApplications/TopoloSocialStudio/apps/api-worker/package.json :: tsc -p tsconfig.json --noEmit
  • deploy — PlatformApplications/TopoloSocialStudio/apps/api-worker/package.json :: wrangler deploy
  • deploy:staging — PlatformApplications/TopoloSocialStudio/apps/api-worker/package.json :: env -u CLOUDFLARE_API_TOKEN CLOUDFLARE_ACCOUNT_ID=4f4e1c69a3830946f9fea7b1eb7531ac wrangler deploy --env staging
  • build — PlatformApplications/TopoloSocialStudio/apps/desktop/package.json :: tsc -p tsconfig.json --noEmit && vite build
  • desktop:build — PlatformApplications/TopoloSocialStudio/apps/desktop/package.json :: tauri build
  • desktop:build:local — PlatformApplications/TopoloSocialStudio/apps/desktop/package.json :: node ./scripts/desktop-release.mjs build --environment local
  • desktop:build:staging — PlatformApplications/TopoloSocialStudio/apps/desktop/package.json :: node ./scripts/desktop-release.mjs build --environment staging
  • desktop:build:production — PlatformApplications/TopoloSocialStudio/apps/desktop/package.json :: node ./scripts/desktop-release.mjs build --environment production
  • build — PlatformApplications/TopoloSocialStudio/apps/marketing-web/package.json :: tsc -p tsconfig.json --noEmit && vite build
  • build — PlatformApplications/TopoloSocialStudio/apps/queue-worker/package.json :: tsc -p tsconfig.json --noEmit
  • deploy — PlatformApplications/TopoloSocialStudio/apps/queue-worker/package.json :: wrangler deploy
  • deploy:staging — PlatformApplications/TopoloSocialStudio/apps/queue-worker/package.json :: env -u CLOUDFLARE_API_TOKEN CLOUDFLARE_ACCOUNT_ID=4f4e1c69a3830946f9fea7b1eb7531ac wrangler deploy --env staging

Failure Modes

No default failure-mode heuristics are currently flagged for this system.

Debugging Runbooks

Start with these entrypoints:

  • PlatformApplications/TopoloSocialStudio/apps/api-worker/wrangler.toml
  • PlatformApplications/TopoloSocialStudio/apps/marketing-web/wrangler.toml
  • PlatformApplications/TopoloSocialStudio/apps/queue-worker/wrangler.toml
  • PlatformApplications/TopoloSocialStudio/package.json
  • PlatformApplications/TopoloSocialStudio/README.md
  • PlatformApplications/TopoloSocialStudio/apps/api-worker/package.json
  • PlatformApplications/TopoloSocialStudio/apps/desktop/package.json
  • PlatformApplications/TopoloSocialStudio/apps/marketing-web/package.json
  • PlatformApplications/TopoloSocialStudio/apps/queue-worker/package.json

Change Log / Verification

Lifecycle: active

Last verified: 2026-04-27

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