queue-aiops 0.8.0__tar.gz → 0.9.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. queue_aiops-0.9.1/.claude-plugin/plugin.json +21 -0
  2. queue_aiops-0.9.1/.mcp.json +13 -0
  3. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/CHANGELOG.md +34 -0
  4. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/PKG-INFO +32 -2
  5. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/README.md +30 -0
  6. queue_aiops-0.9.1/openclaw.plugin.json +24 -0
  7. queue_aiops-0.9.1/package.json +20 -0
  8. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/pyproject.toml +1 -1
  9. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/governance/decorators.py +4 -4
  10. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/server.json +2 -2
  11. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/skills/queue-aiops/SKILL.md +10 -1
  12. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/uv.lock +1 -1
  13. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/.github/workflows/mcp-publish.yml +0 -0
  14. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/.github/workflows/publish.yml +0 -0
  15. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/.gitignore +0 -0
  16. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/Dockerfile +0 -0
  17. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/LICENSE +0 -0
  18. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/RELEASE_NOTES.md +0 -0
  19. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/SECURITY.md +0 -0
  20. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/docs/VERIFICATION.md +0 -0
  21. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/glama.json +0 -0
  22. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/mcp_server/__init__.py +0 -0
  23. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/mcp_server/_shared.py +0 -0
  24. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/mcp_server/server.py +0 -0
  25. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/mcp_server/tools/__init__.py +0 -0
  26. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/mcp_server/tools/analysis.py +0 -0
  27. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/mcp_server/tools/overview.py +0 -0
  28. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/mcp_server/tools/rabbit_reads.py +0 -0
  29. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/mcp_server/tools/redis_reads.py +0 -0
  30. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/mcp_server/tools/undo.py +0 -0
  31. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/mcp_server/tools/writes.py +0 -0
  32. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/__init__.py +0 -0
  33. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/cli/__init__.py +0 -0
  34. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/cli/_common.py +0 -0
  35. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/cli/_root.py +0 -0
  36. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/cli/analyze.py +0 -0
  37. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/cli/doctor.py +0 -0
  38. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/cli/init.py +0 -0
  39. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/cli/overview.py +0 -0
  40. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/cli/rabbit_cmds.py +0 -0
  41. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/cli/redis_cmds.py +0 -0
  42. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/cli/secret.py +0 -0
  43. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/cli/undo.py +0 -0
  44. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/config.py +0 -0
  45. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/connection.py +0 -0
  46. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/doctor.py +0 -0
  47. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/governance/__init__.py +0 -0
  48. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/governance/audit.py +0 -0
  49. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/governance/budget.py +0 -0
  50. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/governance/outcome.py +0 -0
  51. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/governance/paths.py +0 -0
  52. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/governance/patterns.py +0 -0
  53. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/governance/policy.py +0 -0
  54. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/governance/sanitize.py +0 -0
  55. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/governance/undo.py +0 -0
  56. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/ops/__init__.py +0 -0
  57. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/ops/_util.py +0 -0
  58. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/ops/analysis.py +0 -0
  59. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/ops/overview.py +0 -0
  60. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/ops/rabbit_reads.py +0 -0
  61. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/ops/redis_reads.py +0 -0
  62. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/ops/writes.py +0 -0
  63. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/platform.py +0 -0
  64. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/queue_aiops/secretstore.py +0 -0
  65. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/skills/queue-aiops/references/agent-guardrails.md +0 -0
  66. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/skills/queue-aiops/references/capabilities.md +0 -0
  67. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/skills/queue-aiops/references/cli-reference.md +0 -0
  68. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/skills/queue-aiops/references/setup-guide.md +0 -0
  69. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/smithery.yaml +0 -0
  70. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/conftest.py +0 -0
  71. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/fakes.py +0 -0
  72. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_analysis.py +0 -0
  73. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_cli_governed_exit.py +0 -0
  74. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_cli_rabbit_writes.py +0 -0
  75. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_cli_reads.py +0 -0
  76. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_cli_secret.py +0 -0
  77. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_cli_writes.py +0 -0
  78. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_connection.py +0 -0
  79. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_doctor.py +0 -0
  80. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_gov_audit.py +0 -0
  81. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_gov_decorators.py +0 -0
  82. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_gov_patterns.py +0 -0
  83. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_gov_policy.py +0 -0
  84. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_governance_persistence.py +0 -0
  85. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_init.py +0 -0
  86. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_int_fidelity.py +0 -0
  87. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_mcp_reads.py +0 -0
  88. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_optional_fields.py +0 -0
  89. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_platform.py +0 -0
  90. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_reads.py +0 -0
  91. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_secretstore.py +0 -0
  92. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_self_kill.py +0 -0
  93. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_self_lockout.py +0 -0
  94. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_smoke.py +0 -0
  95. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_undo_executor.py +0 -0
  96. {queue_aiops-0.8.0 → queue_aiops-0.9.1}/tests/test_writes.py +0 -0
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://anthropic.com/claude-code/plugin.schema.json",
3
+ "name": "queue-aiops",
4
+ "displayName": "Queue AIops",
5
+ "version": "0.9.1",
6
+ "description": "Governed redis + rabbitmq ops: memory/latency/backlog/churn RCA, policies. 28 tools.",
7
+ "author": {
8
+ "name": "Wei Zhou",
9
+ "email": "zhouwei008@gmail.com",
10
+ "url": "https://github.com/AIops-tools"
11
+ },
12
+ "homepage": "https://github.com/AIops-tools/Queue-AIops",
13
+ "repository": "https://github.com/AIops-tools/Queue-AIops",
14
+ "license": "MIT",
15
+ "keywords": [
16
+ "aiops",
17
+ "mcp",
18
+ "governance",
19
+ "queue"
20
+ ]
21
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "mcpServers": {
3
+ "queue-aiops": {
4
+ "type": "stdio",
5
+ "command": "uvx",
6
+ "args": [
7
+ "--from",
8
+ "queue-aiops==0.9.1",
9
+ "queue-aiops-mcp"
10
+ ]
11
+ }
12
+ }
13
+ }
@@ -1,5 +1,39 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.9.1 — 2026-09-12
4
+
5
+ ### Added
6
+ - **The OpenClaw install path is documented.** The ClawHub bundle channel went
7
+ live but neither the README nor this skill said how to install from it:
8
+ `openclaw plugins install clawhub:@aiops-tools/queue-aiops`. States the `uvx`
9
+ prerequisite (without it the skill installs but reports `Visible to model:
10
+ no`) and that the MCP server is pinned to this exact release.
11
+ - **Where an exported master password lives** is now stated next to the
12
+ instruction to export it: readable by every process the shell starts, and
13
+ kept in shell history.
14
+
15
+ ## v0.9.0 — 2026-09-12
16
+
17
+ ### Added
18
+ - **Installable as a Claude Code plugin.** `.claude-plugin/plugin.json` plus a
19
+ root `.mcp.json` make this repo a plugin, so `/plugin install queue-aiops@aiops-tools`
20
+ delivers the skill and registers the MCP server in one step. The server is
21
+ pinned to the exact package version the manifest declares, so an audit row
22
+ stays traceable to the code that produced it. Nothing about the tool itself
23
+ changed — the CLI and the standalone MCP server work exactly as before.
24
+ - **Installable from ClawHub as an OpenClaw bundle plugin** (`@aiops-tools/queue-aiops`): one install delivers the skill *and* its MCP
25
+ server, pinned to this exact release. `clawhub.ai/plugins`.
26
+
27
+ ### Fixed
28
+ - **The skill was invisible to the model in OpenClaw.** Its metadata
29
+ declared `requires.config` (OpenClaw reads that as config *keys*, not file
30
+ paths, so it can never be satisfied), `requires.env` and `requires.bins`
31
+ naming our own CLI — which a plugin user never has on PATH — plus a
32
+ `primaryEnv` that turned a config path into an API-key prompt. Measured on
33
+ OpenClaw 2026.6.35: `Visible to model: no`. It now requires
34
+ `anyBins: [queue-aiops, uvx]` — either one suffices — with every variable kept
35
+ in `optional.env` (still declared, no longer a load gate), which the same
36
+ command reports as `Visible to model: yes`.
3
37
  ## v0.8.0 — 2026-08-10
4
38
 
5
39
  ### Fixed
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: queue-aiops
3
- Version: 0.8.0
3
+ Version: 0.9.1
4
4
  Summary: Governed AI-ops for redis + rabbitmq: memory-pressure/latency/queue-backlog/connection-churn RCAs, slowlog and SCAN-budgeted big-key sampling, queues/policies/nodes, and governed writes (config set, client kill, purge/delete queue, policies) with a built-in governance harness (audit, budget, undo, risk tiers)
5
5
  Author-email: Wei Zhou <zhouwei008@gmail.com>
6
6
  License-Expression: MIT
@@ -40,6 +40,36 @@ by the built-in governance harness.
40
40
 
41
41
  ## Quick start
42
42
 
43
+ ### As a Claude Code plugin
44
+
45
+ One install gives an agent both the skill and the MCP server:
46
+
47
+ ```
48
+ /plugin marketplace add AIops-tools/marketplace
49
+ /plugin install queue-aiops@aiops-tools
50
+ ```
51
+
52
+ The MCP server is fetched with [uv](https://docs.astral.sh/uv/) and pinned to the
53
+ package version this plugin declares, so an audit row can be traced back to the
54
+ code that wrote it. Credentials are still configured with `queue-aiops init` — see below.
55
+
56
+ ### As an OpenClaw plugin
57
+
58
+ The same bundle is published on [ClawHub](https://clawhub.ai/plugins), where one
59
+ install delivers the skill and its MCP server together:
60
+
61
+ ```bash
62
+ openclaw plugins install clawhub:@aiops-tools/queue-aiops
63
+ openclaw skills info queue-aiops # expect: Visible to model: yes
64
+ ```
65
+
66
+ Restart the OpenClaw gateway afterwards so it loads the plugin. The MCP server is
67
+ fetched with [uv](https://docs.astral.sh/uv/), pinned to this exact release, so
68
+ `uvx` has to be on `PATH` — without it the skill still installs but reports
69
+ `Visible to model: no`. Credentials are configured exactly as below.
70
+
71
+ ### As a CLI or standalone MCP server
72
+
43
73
  ```bash
44
74
  uv tool install queue-aiops
45
75
 
@@ -23,6 +23,36 @@ by the built-in governance harness.
23
23
 
24
24
  ## Quick start
25
25
 
26
+ ### As a Claude Code plugin
27
+
28
+ One install gives an agent both the skill and the MCP server:
29
+
30
+ ```
31
+ /plugin marketplace add AIops-tools/marketplace
32
+ /plugin install queue-aiops@aiops-tools
33
+ ```
34
+
35
+ The MCP server is fetched with [uv](https://docs.astral.sh/uv/) and pinned to the
36
+ package version this plugin declares, so an audit row can be traced back to the
37
+ code that wrote it. Credentials are still configured with `queue-aiops init` — see below.
38
+
39
+ ### As an OpenClaw plugin
40
+
41
+ The same bundle is published on [ClawHub](https://clawhub.ai/plugins), where one
42
+ install delivers the skill and its MCP server together:
43
+
44
+ ```bash
45
+ openclaw plugins install clawhub:@aiops-tools/queue-aiops
46
+ openclaw skills info queue-aiops # expect: Visible to model: yes
47
+ ```
48
+
49
+ Restart the OpenClaw gateway afterwards so it loads the plugin. The MCP server is
50
+ fetched with [uv](https://docs.astral.sh/uv/), pinned to this exact release, so
51
+ `uvx` has to be on `PATH` — without it the skill still installs but reports
52
+ `Visible to model: no`. Credentials are configured exactly as below.
53
+
54
+ ### As a CLI or standalone MCP server
55
+
26
56
  ```bash
27
57
  uv tool install queue-aiops
28
58
 
@@ -0,0 +1,24 @@
1
+ {
2
+ "id": "queue-aiops",
3
+ "name": "Queue AIops",
4
+ "description": "Governed redis + rabbitmq ops: memory/latency/backlog/churn RCA, policies. 28 tools.",
5
+ "skills": [
6
+ "./skills"
7
+ ],
8
+ "mcpServers": {
9
+ "queue-aiops": {
10
+ "transport": "stdio",
11
+ "command": "uvx",
12
+ "args": [
13
+ "--from",
14
+ "queue-aiops==0.9.1",
15
+ "queue-aiops-mcp"
16
+ ]
17
+ }
18
+ },
19
+ "configSchema": {
20
+ "type": "object",
21
+ "additionalProperties": false,
22
+ "properties": {}
23
+ }
24
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "@aiops-tools/queue-aiops",
3
+ "version": "0.9.4",
4
+ "description": "Governed redis + rabbitmq ops: memory/latency/backlog/churn RCA, policies. 28 tools.",
5
+ "private": true,
6
+ "license": "MIT",
7
+ "homepage": "https://github.com/AIops-tools/Queue-AIops",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/AIops-tools/Queue-AIops.git"
11
+ },
12
+ "openclaw": {
13
+ "compat": {
14
+ "pluginApi": ">=2026.3.24-beta.2"
15
+ },
16
+ "build": {
17
+ "openclawVersion": "2026.3.24-beta.2"
18
+ }
19
+ }
20
+ }
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "queue-aiops"
7
- version = "0.8.0"
7
+ version = "0.9.1"
8
8
  description = "Governed AI-ops for redis + rabbitmq: memory-pressure/latency/queue-backlog/connection-churn RCAs, slowlog and SCAN-budgeted big-key sampling, queues/policies/nodes, and governed writes (config set, client kill, purge/delete queue, policies) with a built-in governance harness (audit, budget, undo, risk tiers)"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -384,10 +384,10 @@ def _finalize(state: _CallState) -> None:
384
384
  # so the row must not assert a failure the tool cannot actually vouch for.
385
385
  if state.status == "ok" and isinstance(state.result, dict):
386
386
  # is_unknown is checked FIRST and independently of ``error``. A write
387
- # can be undetermined while looking perfectly successful — a Proxmox
388
- # task that has not finished yet returns a normal payload — and gating
389
- # this on ``error`` audited those as 'ok', re-creating the very lie the
390
- # unknown verdict exists to prevent.
387
+ # can be undetermined while looking perfectly successful — an upstream
388
+ # async task that has not finished yet returns a normal payload — and
389
+ # gating this on ``error`` audited those as 'ok', re-creating the very
390
+ # lie the unknown verdict exists to prevent.
391
391
  if is_unknown(state.result):
392
392
  state.status = "unknown"
393
393
  elif state.result.get("error"):
@@ -7,12 +7,12 @@
7
7
  "url": "https://github.com/AIops-tools/Queue-AIops",
8
8
  "source": "github"
9
9
  },
10
- "version": "0.8.0",
10
+ "version": "0.9.1",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "pypi",
14
14
  "identifier": "queue-aiops",
15
- "version": "0.8.0",
15
+ "version": "0.9.1",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  }
@@ -17,7 +17,7 @@ installer:
17
17
  argument-hint: "[a queue/key/client id, or describe your cache/broker task]"
18
18
  allowed-tools:
19
19
  - Bash
20
- metadata: {"openclaw":{"requires":{"env":["QUEUE_AIOPS_CONFIG"],"bins":["queue-aiops"],"config":["~/.queue-aiops/config.yaml","~/.queue-aiops/secrets.enc"]},"optional":{"env":["QUEUE_AIOPS_MASTER_PASSWORD"]},"primaryEnv":"QUEUE_AIOPS_CONFIG","homepage":"https://github.com/AIops-tools/Queue-AIops","emoji":"📬","os":["macos","linux"]}}
20
+ metadata: {"openclaw":{"requires":{"anyBins":["queue-aiops","uvx"]},"optional":{"env":["QUEUE_AIOPS_CONFIG","QUEUE_AIOPS_MASTER_PASSWORD"]},"homepage":"https://github.com/AIops-tools/Queue-AIops","emoji":"📬","os":["macos","linux"]}}
21
21
  compatibility: >
22
22
  Standalone, self-governed broker operations across redis (RESP wire protocol via the redis Python client; password optional — auth-less lab instances are supported — TLS optional) and rabbitmq (management HTTP API /api/..., HTTP Basic auth with a monitoring/management-tagged user). Each target in the config names its own platform, and a name-keyed platform registry selects the protocol shape, so one config can span a mixed estate. The governance harness (audit, policy, token/runaway budget, undo, risk-tiers) is bundled in the package — no external skill-family dependency.
23
23
  All write operations are audited to a local SQLite DB under ~/.queue-aiops/ (relocatable via QUEUE_AIOPS_HOME).
@@ -75,6 +75,15 @@ queue-aiops init # wizard: pick platform (redis/rabbitmq) + encrypted secr
75
75
  queue-aiops doctor
76
76
  ```
77
77
 
78
+ Or as an OpenClaw plugin, which installs this skill and its MCP server together:
79
+
80
+ ```bash
81
+ openclaw plugins install clawhub:@aiops-tools/queue-aiops
82
+ openclaw skills info queue-aiops # expect: Visible to model: yes
83
+ ```
84
+
85
+ Needs `uvx` on `PATH`: the MCP server is fetched with uv, pinned to this release.
86
+
78
87
  ## When to Use This Skill
79
88
 
80
89
  - Get a one-shot snapshot (`overview` / `redis_server_info` / `rabbitmq_overview`)
@@ -812,7 +812,7 @@ wheels = [
812
812
 
813
813
  [[package]]
814
814
  name = "queue-aiops"
815
- version = "0.8.0"
815
+ version = "0.9.1"
816
816
  source = { editable = "." }
817
817
  dependencies = [
818
818
  { name = "cryptography" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes