* fix(memory): auto-check Qdrant health on mount and stop false-red badge The Qdrant engine card on /dashboard/memory?tab=engine showed a red "Error" badge after every page refresh even when Qdrant was healthy: the badge derives its state from a health check, but the mount effect only fetched settings + embedding models — health started as null and the render treated `health?.ok` (undefined) as a failure. Clicking "Test connection" (which runs the same server-side /readyz check) immediately turned it green, proving the connection was fine. Two changes: - Auto-run the health check on mount once settings load and Qdrant is enabled, so a refreshed page reflects the real state (verified live: /api/settings/qdrant/health returns ok:true in ~2ms on a healthy compose deployment). - While health has not been checked yet (null), render a neutral gray "Testing..." state instead of red — red is now reserved for an actual failed health check. Regression test added (fails on the old code): with enabled settings and a healthy mock, the card must hit /api/settings/qdrant/health on mount and show statusActive, never statusError. * chore(changelog): fragment for #10489 * Merge branch 'release/v3.8.50' into fix/qdrant-health-badge * test(fix): refresh expired alibaba quota sample validity and onnxruntime pin for v3.8.50 base - alibaba-free-tier-quota-fetcher.test.ts: sample quotaValidityPeriod (2026-08-16 16:00 UTC) is in the past, making every quota entry classify as expired/not_capable; bump to 2028-01-01 UTC so the text/merge classification tests exercise the intended path again. - optional-transformers-dependency.test.ts: onnxruntime-node pin assertion updated from ~1.24.3 to ~1.27.0 to match package.json (bumped by #10403); the regular-not-optional intent is unchanged. * test(fix): align optional-transformers-dependency with onnxruntime ~1.24.3 pin (base #10543) * docs(fix): sync 150-migration count and document PROXY_LOG_INCLUDE_IPS (base drift #10348/#10507) * fix(memory): re-check Qdrant health after saving settings save() optimistically flipped enabled and started the PUT while the mount effect could immediately GET /api/settings/qdrant/health against the OLD persisted settings. If that GET won, it returned not_configured/failed and - because health was non-null - the effect never retried after the PUT succeeded, leaving a healthy Qdrant red until a manual Test connection. Invalidate health (generation counter + setHealth(null)) at save start and after a successful PUT, then explicitly schedule a fresh check: setting health to null alone is not enough, React bails on the no-op when health is already null (the exact GET-wins ordering). Stale responses are dropped via the sequence guard so an in-flight pre-save check can never overwrite the post-save result. Adds a regression test covering enable ordering. Addresses PR #10489 review finding (issuecomment-5312271806). * fix: narrow omniglyph transform result union (merge baseaa912c42atypecheck gate) * test(compression): align contract tests with baseaa912c42amerge (providerTransport shape, engine metadata) * fix(memory): silence set-state-in-effect on Qdrant auto health-check The health-check re-check fix (3469234) introduced an effect that calls checkHealth() (an async fetch that eventually calls setState) directly from a useEffect gated on loading/enabled/health. The react-hooks/set-state-in-effect rule flags this as a potential cascading render, matching the same pattern already accepted elsewhere in the dashboard (FreePoolTab.tsx, ConnectionsTable.tsx) for gated async data-fetch effects. Suppress with the established inline convention; no behavior change. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> * fix(memory): drop unused set-state-in-effect disable (rule inert on pinned react-hooks 7.0.1) The eslint-disable-next-line for react-hooks/set-state-in-effect is unused: eslint-plugin-react-hooks@7.0.1 (lockfile-pinned) does not report this rule, so the directive itself was flagged as a warning and the 'No new ESLint warnings' CI gate failed with --max-warnings 0. The effect body only calls checkHealth() (async fetch) with no raw setState, so no disable is needed. * ci(quality): sync ratchet configs to release/v3.8.50 (0a74bfbde) merge - re-freeze open-sse typecheck baseline at merged-tree live counts (64 stale entries dropped, 11 frozen; base video/usage drift covered) - register tests/unit/video-bridge-drilldown-route.test.ts in stryker tap.testFiles - regenerate skills/cli-contexts/SKILL.md (contexts migrate docs from CLI closure) --------- Co-authored-by: Rouzbeh <rqzbeh@users.noreply.github.com> Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
4.5 KiB
name, description
| name | description |
|---|---|
| cli-contexts | Manage context engineering configurations, RTK filter sets, and conversation sessions from the CLI. Apply context-relay settings and inspect active context pipelines. |
Overview
Manage context engineering configurations, RTK filter sets, and conversation sessions from the CLI. Apply context-relay settings and inspect active context pipelines.
Quick install
npm install -g omniroute # or: npx omniroute
omniroute --version
Subcommands
context-eng
Example:
omniroute context-eng
context-eng analytics
Flags:
--period <p>
Example:
omniroute context-eng analytics
context-eng caveman
Example:
omniroute context-eng caveman
context-eng config
Example:
omniroute context-eng config
context-eng show
Example:
omniroute context-eng show
context-eng set
Flags:
--aggressiveness <n>--max-shrink-pct <n>--preserve-tags <list>
Example:
omniroute context-eng set
context-eng rtk
Example:
omniroute context-eng rtk
context-eng config
Example:
omniroute context-eng config
context-eng show
Example:
omniroute context-eng show
context-eng set
Flags:
--token-budget <n>--reserve-pct <n>
Example:
omniroute context-eng set
context-eng filters
Example:
omniroute context-eng filters
context-eng list
Example:
omniroute context-eng list
context-eng add
Flags:
--priority <n>--action <a>
Example:
omniroute context-eng add
context-eng remove <id>
Flags:
--yes
Example:
omniroute context-eng remove <id>
context-eng test
Example:
omniroute context-eng test
context-eng raw-output <id>
Example:
omniroute context-eng raw-output <id>
context-eng combos
Example:
omniroute context-eng combos
context-eng list
Example:
omniroute context-eng list
context-eng get <id>
Example:
omniroute context-eng get <id>
context-eng assignments <id>
Example:
omniroute context-eng assignments <id>
contexts
Example:
omniroute contexts
contexts list
List all contexts
Example:
omniroute contexts list
contexts add <name>
Add a new context
Flags:
--api-key <k>--api-key-stdin--access-token <t>--access-token-stdin--scope <s>--description <d>
Example:
omniroute contexts add <name>
contexts use <name>
Switch active context
Example:
omniroute contexts use <name>
contexts current
Show the active context (server, auth, scope)
Flags:
--name-only
Example:
omniroute contexts current
contexts show <name>
Show context details
Example:
omniroute contexts show <name>
contexts remove <name>
Remove a context
Flags:
--yes
Example:
omniroute contexts remove <name>
contexts rename <old> <new>
Rename a context
Example:
omniroute contexts rename <old> <new>
contexts export
Export contexts to JSON
Flags:
--out <path>--no-secrets
Example:
omniroute contexts export
contexts import <file>
Import contexts from a JSON file
Flags:
--merge
Example:
omniroute contexts import <file>
contexts migrate
Move legacy plaintext context credentials to the OS keychain
Flags:
--yes
Example:
omniroute contexts migrate
sessions
Example:
omniroute sessions
sessions list
Flags:
--user <u>--kind <k>--active--limit <n>
Example:
omniroute sessions list
sessions show <sessionId>
Example:
omniroute sessions show <sessionId>
sessions expire <sessionId>
Flags:
--yes
Example:
omniroute sessions expire <sessionId>
sessions expire-all
Flags:
--yes
Example:
omniroute sessions expire-all
sessions current
Example:
omniroute sessions current