files --collection, get, get-thumb and helper fix-missing-thumbnails
--file read an ID with Number(), so 0x10 meant 16, 1e3 meant 1000 and
an empty string meant 0, and --file dropped an ID it could not read.
parseID in src/cli-commands.ts now takes an ID only when it is decimal
digits and a safe integer; anything else prints "Invalid file ID: ARG"
or "Invalid collection ID: ARG" and the command exits 1. The fixer
checks every --file ID before it opens the library, so one bad ID fails
the whole command before any request.
Model: opus-5-5
files --collection, get, get-thumb and helper fix-missing-thumbnails
--file must refuse 0x10, 1e3, 1.5, -1, an empty string, abc and an
integer past Number.MAX_SAFE_INTEGER with one line naming the argument,
and exit 1 before any request. A good ID goes on to the server. The
commands run on a real client over a fake Ente server holding an empty
account. The two older tests of a non-numeric ID are folded into these.
Model: opus-5-5