fix: v0.5.1 — pull_image API (Image/pull_start, not Registry/pull_start)
The 0.5.0 prompt mis-attributed the API: pull_start lives on SYNO.Docker.Image, not SYNO.Docker.Registry (live DSM capture). search and tags ARE correctly on Registry; only pull_start belongs to Image. Registry/pull_start returns "Method does not exist". Parameters are unchanged (repository + tag both JSON-encoded), and the Image/list polling for completion detection is untouched. Tests updated to assert SYNO.Docker.Image/pull_start. CLAUDE.md DSM-quirks section consolidates the Image vs. Registry split so this trap is documented for future surface additions. References #3 (already closed). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -169,9 +169,13 @@ def register_registry(mcp: FastMCP, config: AppConfig, client: DsmClient) -> Non
|
||||
if await _image_present(client, repository, tag):
|
||||
return f"{target} is already present locally — nothing to pull."
|
||||
|
||||
# `pull_start` lives on SYNO.Docker.Image, NOT SYNO.Docker.Registry
|
||||
# (live DSM capture, confirmed). The Registry API only exposes the
|
||||
# synchronous read-only methods (search, tags, get/set/create/delete,
|
||||
# using). Calling Registry/pull_start returns "Method does not exist".
|
||||
try:
|
||||
await client.request(
|
||||
"SYNO.Docker.Registry",
|
||||
"SYNO.Docker.Image",
|
||||
"pull_start",
|
||||
version=1,
|
||||
params={
|
||||
|
||||
Reference in New Issue
Block a user