feat: publishing registry media seam (loadAsset/openAsset) + SPENC1 decrypt + multipart transport

The Mastodon connector's uploadAll resolves asset ids via loadAsset/openAsset.
The registry wires these hooks from a mediaResolver that the scheduler injects:
media_assets lookup (workspace-scoped via SET LOCAL) + R2 download + SPENC1
decrypt (extracted from the api's storage into connector-runtime/media.ts).
provider-fetch gains serializeBody for multipart media uploads through the
pinned transport channel.
This commit is contained in:
glass beadian 2026-10-15 16:48:57 +00:00
parent a6843e904b
commit 9e8653aca5
5 changed files with 207 additions and 17 deletions

View file

@ -11,26 +11,27 @@
"test:integration": "node scripts/wp3-integration.mjs"
},
"dependencies": {
"@temporalio/client": "1.24.0",
"@temporalio/worker": "1.24.0",
"@temporalio/workflow": "1.24.0",
"pino": "^9.3.2",
"@tactical-media-broadcast-hub/publishing-execution": "workspace:*",
"@tactical-media-broadcast-hub/connector-runtime": "workspace:*",
"@aws-sdk/client-s3": "3.1146.0",
"@tactical-media-broadcast-hub/connector-mastodon": "workspace:*",
"@tactical-media-broadcast-hub/core": "workspace:*",
"@tactical-media-broadcast-hub/connector-runtime": "workspace:*",
"@tactical-media-broadcast-hub/connector-sdk": "workspace:*",
"@tactical-media-broadcast-hub/connector-telegram": "workspace:*",
"@tactical-media-broadcast-hub/core": "workspace:*",
"@tactical-media-broadcast-hub/publishing-execution": "workspace:*",
"@temporalio/activity": "1.24.0",
"@temporalio/client": "1.24.0",
"@temporalio/common": "1.24.0",
"pg": "^8.23.1"
"@temporalio/worker": "1.24.0",
"@temporalio/workflow": "1.24.0",
"pg": "^8.23.1",
"pino": "^9.3.2"
},
"devDependencies": {
"@types/node": "^22.5.0",
"tsx": "^4.17.0",
"vitest": "^2.0.5",
"@types/pg": "^8.23.1",
"typescript": "^5.5.4"
"tsx": "^4.17.0",
"typescript": "^5.5.4",
"vitest": "^2.0.5"
},
"engines": {
"node": ">=22.13.0"