T-HUB/packages/connector-runtime
hacklab dd5a6c8b35 feat(runtime): publish approved media from the scheduler
Approved posts may carry mediaAssetIds and altTexts since the repository
gate was lifted, but the scheduler built connectors without an asset
loader, so Mastodon and Telegram rejected every post with media as
INVALID_POST and alt texts never reached them.

- media.ts: loadAsset reads media_assets inside the execution's tenant
  (app.workspace_id, RLS forced); openAsset fetches the sealed object,
  opens the SPENC1 frame with S3_KEK and checks the content hash.
  Read-only; bytes go worker to provider and never through the API.
- preparePostForDispatch maps positional altTexts onto
  providerMetadata.altText keyed by asset id.
- Instagram joins the scheduler registry so its posts fail with an
  explicit connector error instead of UnknownProviderError.
2026-10-15 15:09:07 +02:00
..
src feat(runtime): publish approved media from the scheduler 2026-10-15 15:09:07 +02:00
package.json feat(runtime): publish approved media from the scheduler 2026-10-15 15:09:07 +02:00
tsconfig.json Tactical Media Broadcast Hub — initial release 2026-10-10 11:56:42 +00:00