spora-ai / spora-plugin-media-archive
Admin UI for browsing, filtering, and downloading media archived by Spora agents.
Package info
github.com/spora-ai/spora-plugin-media-archive
Type:spora-plugin
pkg:composer/spora-ai/spora-plugin-media-archive
Requires
- php: ^8.4.1
- spora-ai/spora-core: >=0.11.1 <2.0.0
- spora-ai/spora-plugin-media-archive-frontend: >=0.1.0 <2.0.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.94
- mockery/mockery: ^1.6
- pestphp/pest: ^4.0
- phpstan/phpstan: ^2.1
- phpstan/phpstan-mockery: ^2.0
Suggests
- spora-ai/spora-plugin-email: Email send/receive with attachment handling — outbound attachments surface as archived documents.
- spora-ai/spora-plugin-minimax: Image, speech, music, and video generation — rows produced by these tools show up here.
This package is auto-updated.
Last update: 2026-08-24 19:51:01 UTC
README
Admin UI for browsing, filtering, and downloading media archived by Spora agents.
This plugin contributes the Media Archive app to the host's Apps dropdown. The panel is a pre-built Vue SPA delivered as a separate Composer package (spora-ai/spora-plugin-media-archive-frontend, type spora-plugin-frontend). The two-package split lets the frontend evolve on its own release cadence and lets backend-only operators skip the bundle entirely.
Install
composer require spora-ai/spora-plugin-media-archive composer require spora-ai/spora-plugin-media-archive-frontend
Both packages are required: the PHP package contributes the admin-panel metadata (MediaArchiveApp → VueAppInterface), and the frontend package ships the Vue IIFE bundle that the host SPA lazy-loads at runtime.
Requires spora-ai/spora-core ≥ 0.11.1 (ships the standalone MediaAssetSerializer that emits the asset filename on the wire — versions prior to 0.11.1 render unknown on the admin panel because the controller's inline serialize() omits the field).
What it does
- Surfaces rows from the
media_assetstable (indexed byMediaArchiveService) as a filterable grid in the admin UI. - Filters by media type, plugin, tool, agent, and date range.
- Click-through detail drawer with metadata (dimensions, duration, mime type, source URL).
- One-click download via the existing
AssetController::show()route.
The plugin itself adds no tools, drivers, recipes, or migrations — it is purely presentational.
Companion plugins
Listed in composer.json under suggest:
spora-ai/spora-plugin-minimax— image, speech, music, and video generation. Rows produced by these tools show up here.spora-ai/spora-plugin-email— email send/receive. Outbound attachments surface as archived documents.
Reference
The canonical reference (REST contract, ingestion API, retention guidance, configuration flags) lives on the docs site:
docs.spora-ai.com/develop/plugins/reference/media-archive
License
MIT — see LICENSE.