moviepilot-update ยท diff

v4 to v5

24 added, 35 removed. Audit A to A.

---
name: moviepilot-update
- version: 4
+ version: 5
description: Use this skill to check MoviePilot versions, inspect Release update state, download a Release update in the background, confirm installation, restart MoviePilot, or retain the existing Dev branch update flow. Prefer the built-in system APIs instead of container commands or manual file replacement.
+ allowed-tools: moviepilot_api
+ allowed-api-operations: >-
+ system.versions system.update.status system.update.check system.update.download
+ system.restart system.update.install system.upgrade.dev
---
# MoviePilot Update
- > All script paths are relative to this skill file.
-
Use this skill for MoviePilot restart and upgrade operations.
- ## Setup
-
- This skill reuses the `moviepilot-api` client. When running inside the MoviePilot project, the API client imports `app.runtime.config.settings` and reads the local host, port, and API token directly. Do not ask the user for `API_TOKEN`.
+ Use the built-in `moviepilot_api` tool only. The host selects fixed API routes, authenticates with the trusted Agent identity, and applies administrator and confirmation policy. Never request or pass an API token, URL, HTTP method, shell command, or legacy helper script.
- ## Preferred Commands
+ ## Operations
### Check versions
- ```bash
- python scripts/mp-update.py versions
+ ```json
+ {"operation_id":"system.versions","path_params":{},"query":{},"body":{}}
```
- This calls `GET /api/v1/system/versions`.
+ This read-only operation lists available MoviePilot releases.
### Restart MoviePilot
- ```bash
- python scripts/mp-update.py restart
+ ```json
+ {"operation_id":"system.restart","path_params":{},"query":{},"body":{}}
```
- This calls `GET /api/v1/system/restart`.
+ Restart requires explicit confirmation and interrupts the current Agent session.
### Release update
Check for a stable Release and inspect current progress:
- ```bash
- python scripts/mp-update.py check
- python scripts/mp-update.py status
+ ```json
+ {"operation_id":"system.update.check","path_params":{},"query":{},"body":{}}
+ {"operation_id":"system.update.status","path_params":{},"query":{},"body":{}}
```
Start the background download. This does not restart MoviePilot:
- ```bash
- python scripts/mp-update.py download
+ ```json
+ {"operation_id":"system.update.download","path_params":{},"query":{},"body":{}}
```
After `status` reports `state=ready`, installation requires a separate explicit confirmation:
- ```bash
- python scripts/mp-update.py install
+ ```json
+ {"operation_id":"system.update.install","path_params":{},"query":{},"body":{}}
```
`install` writes the verified install intent and restarts MoviePilot. Do not call it until the user explicitly confirms the restart.
### Dev update and restart
- ```bash
- python scripts/mp-update.py upgrade dev
+ ```json
+ {"operation_id":"system.upgrade.dev","path_params":{},"query":{},"body":"dev"}
```
- Dev mode retains the existing `POST /api/v1/system/upgrade` path with body `"dev"`. It tracks the current v3 development branch during restart. Release mode is no longer accepted by that endpoint.
-
- ## Direct API Examples
-
- ```bash
- python ../moviepilot-api/scripts/mp-api.py GET /api/v1/system/restart
- python ../moviepilot-api/scripts/mp-api.py POST /api/v1/system/update/check
- python ../moviepilot-api/scripts/mp-api.py GET /api/v1/system/update/status
- python ../moviepilot-api/scripts/mp-api.py POST /api/v1/system/update/download
- python ../moviepilot-api/scripts/mp-api.py POST /api/v1/system/update/install
- python ../moviepilot-api/scripts/mp-api.py POST /api/v1/system/upgrade --json '"dev"'
- ```
+ The body must be the exact JSON string `"dev"`. Stable Release updates must use check, download, status, and install instead.
## Notes
- - These operations require administrator authentication.
+ - All operations require a MoviePilot administrator or a verified notification-channel administrator. The host performs authorization; the model must never invent an administrator flag.
- Only restart, Release installation, and Dev upgrade interrupt the current agent session. Checking and downloading remain online.
- Prefer the API flow above. Only fall back to manual container commands when the API is unavailable.