Repository navigation
v1.9.1 — searches no longer fail with HTTP 400 (#3)
Every log_search / log_aggregate call (and vmware-log-insight search) was rejected by a real appliance with
HTTP 400, while doctor passed. The query builder sent each constraint as three path segments —
timestamp/LAST/3600000, text/CONTAINS/error — but Log Insight reads a constraint as a field followed by ONE
segment holding the operator and value separated by a space: timestamp/LAST%203600000, text/CONTAINS%20error.
doctor never builds a query, which is why it stayed green. Reported in
#3; the reporter's hand-written curl had the right
form.
- All constraints now use
field/<OPERATOR value>: relative window, absolute>/<window,text CONTAINS, and
every(field, operator, value)filter.EXISTSis sent asfield/EXISTS(it previously got a trailing
empty segment). - The operator+value segment is percent-encoded as a whole, so a value containing
/or spaces still stays one
segment. - New regression
test_constraint_wire_grammar.pychecks the path that actually leaves the HTTP client (not just
the builder's string), including the exact request from the issue. Reverting the fix turns all three tests red.
Dependencies. uv.lock moves pyjwt 2.13.0 → 2.15.0 (supersedes Dependabot
#2; 2.15.0 carries an upstream fix for deeply nested
token payloads). pyjwt reaches this skill only transitively through mcp; the published wheel's requirements are
unchanged, so this only moves the locked dev/test environment.