Skip to main content

Victorialogs

@magistr/victorialogsv2026.08.19.1· 23d agoMODELS
01README

VictoriaLogs query API — run LogsQL queries, field/stream stats, and hits over time.

Model:

  • @magistr/victorialogs — query a VictoriaLogs HTTP endpoint with LogsQL. Methods: query (matching entries), stats (aggregations via a | stats pipe), container-log-status (compare running Docker containers against those actually logging to detect broken pipelines), error-summary (group error/fatal/panic/OOM lines by container), and compare-periods (diff log volume between a baseline and a comparison window to spot services that went silent).
02Models1
@magistr/victorialogsv2026.08.19.1extensions/models/victorialogs.ts

Global Arguments

ArgumentTypeDescription
hoststringVictoriaLogs host (IP or hostname)
portnumberVictoriaLogs HTTP port

Resources

queryResult(infinite)— Raw log query result
stats(infinite)— Log statistics result
containerStatus(infinite)— Which containers are/aren't logging
errorSummary(infinite)— Error log summary by container
03Previous Versions3
2026.08.01.1

2026.08.01.1

Two HIGH monitoring blind-spots (both false all-clears/storms) are now FIXED, plus a trivial same-method sort fold-in. Tracked end-to-end in the LOCAL victorialogs-false-allclear-bugs issue-lifecycle model — never a Lab issue, since this is a @magistr/* extension.

  1. P4 — ssh failure swallowed as a false all-clear (HIGH), FIXEDgetRunningContainers never checked the ssh subprocess's output.success; an ssh FAILURE (e.g. connection refused, host key mismatch) yielded empty stdout, which was decoded unconditionally into running = [], so container-log-status reported notLogging: [] — identical to "every running container is logging" even though the check never actually ran. Fixed by checking output.success and throwing a distinct ssh-failure error carrying the HOST and EXIT CODE only — never raw stderr, which can leak internal topology (host-key/gateway names).
  2. P6 — compare-periods empty-window/NaN alarm storm (HIGH), FIXEDcompare-periods had no guard for an empty baseline or comparison window: an empty baseline classified every container as NEW, an empty comparison window classified every container as GONE (a fleet-wide false-alarm storm). Separately, parseInt(e.total) with no radix silently produced NaN for a garbled total value, which the || 0 fallback collapsed to 0 — masking what should read as "this container had SOME volume" and silently landing a real disappearance on NORMAL instead of an alertable GONE. Fixed by throwing distinct errors when either window is empty (checked immediately after the Promise.all fetch, so both fetches still complete before either guard fires) and by detecting Number.isNaN at the baseline/comparison map ingest (now with explicit radix 10) and throwing instead of silently collapsing to 0.
  3. P13 — sort comparator falsy-collapse (fold-in, same method/bug class) — the compare-periods sort comparator's (order[a.status] || 9) - (order[b.status] || 9) treated GONE's priority value of 0 as falsy, collapsing it to the unmapped-status fallback of 9 — the most urgent alert (a service went silent) sorted LAST instead of first. Found during the wave-2b review, outside the original P4/P6 scope but trivial and on the same edited lines; fixed by switching to ?? 9 (nullish coalescing), which only substitutes on null/undefined, not on 0.
  • model.version (extensions/models/victorialogs.ts) and manifest.yaml both bump to 2026.08.01.1, in sync.
  • Flipped ~15 characterization pins across the three affected suites (victorialogs_methods_test.ts, victorialogs_adversarial_test.ts, victorialogs_coverage_test.ts, victorialogs_property_test.ts) from pinning the buggy behavior to asserting the fixed rejection/ordering; constrained the property suite's non-degenerate arbWindow to minKeys: 1 and fed the methods suite's default-window test non-empty bodies so neither trips the new empty-window guard. Every other pin (P1/P2/P3/P5/P7/P8/P9/ P10/P11/P12, and all legit-path happy/failure characterizations) is unchanged.
2026.07.16.2

Release 2026.07.16.2 — align model versions with manifests

Maintenance release across the @magistr extensions. For most packages this carries no functional change: the only edit is the model's version: field, brought back in line with its manifest version so the published model type version and the package version no longer drift.

Functional changes in this release are limited to:

  • anime-cron: normalizeTitle now strips a ": subtitle" suffix and a trailing parenthesized year before comparison, fixing dedup false-misses where the torrent title carries a subtitle or year that the AniList romaji does not.

  • arckit: first publish. Standalone ArcKit port — a 12-phase architecture governance state machine with 65 bundled templates, driven by a bundled skill.

Also tracks three extensions (kaiten, observability-agent, music-library) that previously existed only as untracked working-tree directories, recovered from stashes.

Added 1 models

2026.05.25.1

Merge pull request #5 from umag/extensions/jscad-stl-pair

extensions: add 15 more @magistr extensions + auto-discover CI

04Stats
A
100 / 100
Downloads
3
Archive size
7.9 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
05Platforms
06Labels