queue-aiops 0.9.0__tar.gz → 0.9.2__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.0 → queue_aiops-0.9.2}/.claude-plugin/plugin.json +1 -1
  2. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/.mcp.json +1 -1
  3. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/CHANGELOG.md +23 -0
  4. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/PKG-INFO +16 -1
  5. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/README.md +15 -0
  6. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/openclaw.plugin.json +1 -1
  7. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/package.json +2 -2
  8. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/pyproject.toml +1 -1
  9. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/server.json +2 -2
  10. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/skills/queue-aiops/SKILL.md +9 -0
  11. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/uv.lock +1 -1
  12. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/.github/workflows/mcp-publish.yml +0 -0
  13. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/.github/workflows/publish.yml +0 -0
  14. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/.gitignore +0 -0
  15. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/Dockerfile +0 -0
  16. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/LICENSE +0 -0
  17. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/RELEASE_NOTES.md +0 -0
  18. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/SECURITY.md +0 -0
  19. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/docs/VERIFICATION.md +0 -0
  20. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/glama.json +0 -0
  21. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/mcp_server/__init__.py +0 -0
  22. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/mcp_server/_shared.py +0 -0
  23. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/mcp_server/server.py +0 -0
  24. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/mcp_server/tools/__init__.py +0 -0
  25. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/mcp_server/tools/analysis.py +0 -0
  26. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/mcp_server/tools/overview.py +0 -0
  27. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/mcp_server/tools/rabbit_reads.py +0 -0
  28. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/mcp_server/tools/redis_reads.py +0 -0
  29. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/mcp_server/tools/undo.py +0 -0
  30. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/mcp_server/tools/writes.py +0 -0
  31. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/__init__.py +0 -0
  32. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/cli/__init__.py +0 -0
  33. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/cli/_common.py +0 -0
  34. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/cli/_root.py +0 -0
  35. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/cli/analyze.py +0 -0
  36. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/cli/doctor.py +0 -0
  37. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/cli/init.py +0 -0
  38. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/cli/overview.py +0 -0
  39. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/cli/rabbit_cmds.py +0 -0
  40. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/cli/redis_cmds.py +0 -0
  41. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/cli/secret.py +0 -0
  42. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/cli/undo.py +0 -0
  43. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/config.py +0 -0
  44. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/connection.py +0 -0
  45. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/doctor.py +0 -0
  46. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/governance/__init__.py +0 -0
  47. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/governance/audit.py +0 -0
  48. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/governance/budget.py +0 -0
  49. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/governance/decorators.py +0 -0
  50. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/governance/outcome.py +0 -0
  51. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/governance/paths.py +0 -0
  52. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/governance/patterns.py +0 -0
  53. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/governance/policy.py +0 -0
  54. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/governance/sanitize.py +0 -0
  55. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/governance/undo.py +0 -0
  56. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/ops/__init__.py +0 -0
  57. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/ops/_util.py +0 -0
  58. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/ops/analysis.py +0 -0
  59. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/ops/overview.py +0 -0
  60. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/ops/rabbit_reads.py +0 -0
  61. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/ops/redis_reads.py +0 -0
  62. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/ops/writes.py +0 -0
  63. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/platform.py +0 -0
  64. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/queue_aiops/secretstore.py +0 -0
  65. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/skills/queue-aiops/references/agent-guardrails.md +0 -0
  66. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/skills/queue-aiops/references/capabilities.md +0 -0
  67. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/skills/queue-aiops/references/cli-reference.md +0 -0
  68. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/skills/queue-aiops/references/setup-guide.md +0 -0
  69. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/smithery.yaml +0 -0
  70. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/conftest.py +0 -0
  71. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/fakes.py +0 -0
  72. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_analysis.py +0 -0
  73. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_cli_governed_exit.py +0 -0
  74. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_cli_rabbit_writes.py +0 -0
  75. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_cli_reads.py +0 -0
  76. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_cli_secret.py +0 -0
  77. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_cli_writes.py +0 -0
  78. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_connection.py +0 -0
  79. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_doctor.py +0 -0
  80. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_gov_audit.py +0 -0
  81. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_gov_decorators.py +0 -0
  82. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_gov_patterns.py +0 -0
  83. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_gov_policy.py +0 -0
  84. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_governance_persistence.py +0 -0
  85. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_init.py +0 -0
  86. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_int_fidelity.py +0 -0
  87. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_mcp_reads.py +0 -0
  88. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_optional_fields.py +0 -0
  89. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_platform.py +0 -0
  90. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_reads.py +0 -0
  91. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_secretstore.py +0 -0
  92. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_self_kill.py +0 -0
  93. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_self_lockout.py +0 -0
  94. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_smoke.py +0 -0
  95. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_undo_executor.py +0 -0
  96. {queue_aiops-0.9.0 → queue_aiops-0.9.2}/tests/test_writes.py +0 -0
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://anthropic.com/claude-code/plugin.schema.json",
3
3
  "name": "queue-aiops",
4
4
  "displayName": "Queue AIops",
5
- "version": "0.9.0",
5
+ "version": "0.9.2",
6
6
  "description": "Governed redis + rabbitmq ops: memory/latency/backlog/churn RCA, policies. 28 tools.",
7
7
  "author": {
8
8
  "name": "Wei Zhou",
@@ -5,7 +5,7 @@
5
5
  "command": "uvx",
6
6
  "args": [
7
7
  "--from",
8
- "queue-aiops==0.9.0",
8
+ "queue-aiops==0.9.2",
9
9
  "queue-aiops-mcp"
10
10
  ]
11
11
  }
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.9.2 — 2026-09-12
4
+
5
+ ### Changed
6
+ - **The ClawHub bundle plugin moved from `@aiops-tools/queue-aiops` to
7
+ `@zw008/queue-aiops`**, matching the publisher the skill has always been under.
8
+ ClawHub cannot move a package between scopes — the scope is the publisher
9
+ identity — so this is a republish under the new name; the old name is
10
+ withdrawn. Install with:
11
+ `openclaw plugins install clawhub:@zw008/queue-aiops`. Nothing about the Python
12
+ package, the CLI, the MCP server or the Claude Code plugin changes.
13
+
14
+ ## v0.9.1 — 2026-09-12
15
+
16
+ ### Added
17
+ - **The OpenClaw install path is documented.** The ClawHub bundle channel went
18
+ live but neither the README nor this skill said how to install from it:
19
+ `openclaw plugins install clawhub:@aiops-tools/queue-aiops`. States the `uvx`
20
+ prerequisite (without it the skill installs but reports `Visible to model:
21
+ no`) and that the MCP server is pinned to this exact release.
22
+ - **Where an exported master password lives** is now stated next to the
23
+ instruction to export it: readable by every process the shell starts, and
24
+ kept in shell history.
25
+
3
26
  ## v0.9.0 — 2026-09-12
4
27
 
5
28
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: queue-aiops
3
- Version: 0.9.0
3
+ Version: 0.9.2
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
@@ -53,6 +53,21 @@ The MCP server is fetched with [uv](https://docs.astral.sh/uv/) and pinned to th
53
53
  package version this plugin declares, so an audit row can be traced back to the
54
54
  code that wrote it. Credentials are still configured with `queue-aiops init` — see below.
55
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:@zw008/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
+
56
71
  ### As a CLI or standalone MCP server
57
72
 
58
73
  ```bash
@@ -36,6 +36,21 @@ The MCP server is fetched with [uv](https://docs.astral.sh/uv/) and pinned to th
36
36
  package version this plugin declares, so an audit row can be traced back to the
37
37
  code that wrote it. Credentials are still configured with `queue-aiops init` — see below.
38
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:@zw008/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
+
39
54
  ### As a CLI or standalone MCP server
40
55
 
41
56
  ```bash
@@ -11,7 +11,7 @@
11
11
  "command": "uvx",
12
12
  "args": [
13
13
  "--from",
14
- "queue-aiops==0.9.0",
14
+ "queue-aiops==0.9.2",
15
15
  "queue-aiops-mcp"
16
16
  ]
17
17
  }
@@ -1,6 +1,6 @@
1
1
  {
2
- "name": "@aiops-tools/queue-aiops",
3
- "version": "0.9.0",
2
+ "name": "@zw008/queue-aiops",
3
+ "version": "0.9.2",
4
4
  "description": "Governed redis + rabbitmq ops: memory/latency/backlog/churn RCA, policies. 28 tools.",
5
5
  "private": true,
6
6
  "license": "MIT",
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "queue-aiops"
7
- version = "0.9.0"
7
+ version = "0.9.2"
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"
@@ -7,12 +7,12 @@
7
7
  "url": "https://github.com/AIops-tools/Queue-AIops",
8
8
  "source": "github"
9
9
  },
10
- "version": "0.9.0",
10
+ "version": "0.9.2",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "pypi",
14
14
  "identifier": "queue-aiops",
15
- "version": "0.9.0",
15
+ "version": "0.9.2",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  }
@@ -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:@zw008/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.9.0"
815
+ version = "0.9.2"
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