v0.1.15: Entity not-found classification, mul label fallback, format() disclosure
Entity not-found classification, mul label fallback, format() disclosure
Seven issue fixes across the REST service, tool definitions, and the entity resource, plus a framework and supply-chain maintenance pass.
Fixed:
- Out-of-range IDs leaked the raw REST URL and status from
wikidata_get_entity,wikidata_get_statements,wikidata_get_sitelinks, andwikidata://entity/{id}— the catch blocks testeddata.status, which nothing populates. All four now classify 404 and 400 alike asentity_not_found(#13) - One out-of-range ID no longer collapses a
wikidata_get_labelsbatch tofound: 0— the ID named in a top-levelno-such-entityrejection is dropped and the rest re-requested (#14) mul-only entities render their label instead of a bare QID —languagefallback=1on the MediaWiki path,resolveLangValue()on the REST path, which has no fallback parameter (#15)format()discloses the total when it cuts a language sample — thewikidata_get_labelslanguage list (#19), thewikidata_get_entitydescriptions and alias language list (#22)wikidata_get_statementsrejects a malformedpropertiesentry withinvalid_propertybefore the fetch instead of dropping it or leaking a raw 400 (#24)docs/design.mdper-tool Errors bullets reconciled to the declarederrors[]contracts (#23)
Added:
isEntityNotFoundError(err)andresolveLangValue(map, lang)exported fromwikidata-rest-service.tsinvalid_propertyerror contract onwikidata_get_statements
Changed:
- Installs gated behind a 3-day
minimumReleaseAgeand scanned by Socket;Dockerfilepinsoven/bun:1.3.14
Dependency bumps:
@cyanheads/mcp-ts-core^0.10.9 → ^0.10.14tsc-alias^1.8.17 → ^1.9.0@socketsecurity/bun-security-scanner^1.1.2 (new)js-yaml3.14.2 → 3.15.0 (transitive) — clears GHSA-h67p-54hq-rp68
171 tests pass; bun run devcheck clean.