fix(labeler): queryLabels honors the full lexicon — `*`, prefixes, sources, paging
uriPatterns was read as a single literal string matched with `uri = ?`, so the
spec's wildcard (`uriPatterns=*`) looked for a subject named "*" and every
generic client got `{"labels":[]}`. Reported by @hipstersmoothie.com.
Now parses uriPatterns as an array (repeated params, comma-joined values, or
both), supports `*` and `prefix*` patterns, and adds `sources`, `limit`
(1-250, default 50) and `cursor` with a response cursor on full pages.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
fix(labeler): queryLabels honors the full lexicon — `*`, prefixes, sources, paging
uriPatterns was read as a single literal string matched with `uri = ?`, so the
spec's wildcard (`uriPatterns=*`) looked for a subject named "*" and every
generic client got `{"labels":[]}`. Reported by @hipstersmoothie.com.
Now parses uriPatterns as an array (repeated params, comma-joined values, or
both), supports `*` and `prefix*` patterns, and adds `sources`, `limit`
(1-250, default 50) and `cursor` with a response cursor on full pages.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>