proxy-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 (105) hide show
  1. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/.claude-plugin/plugin.json +1 -1
  2. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/.mcp.json +1 -1
  3. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/CHANGELOG.md +23 -0
  4. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/PKG-INFO +16 -1
  5. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/README.md +15 -0
  6. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/openclaw.plugin.json +1 -1
  7. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/package.json +2 -2
  8. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/pyproject.toml +1 -1
  9. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/server.json +2 -2
  10. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/skills/proxy-aiops/SKILL.md +9 -0
  11. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/uv.lock +1 -1
  12. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/.github/workflows/mcp-publish.yml +0 -0
  13. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/.github/workflows/publish.yml +0 -0
  14. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/.gitignore +0 -0
  15. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/Dockerfile +0 -0
  16. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/LICENSE +0 -0
  17. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/RELEASE_NOTES.md +0 -0
  18. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/SECURITY.md +0 -0
  19. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/docs/VERIFICATION.md +0 -0
  20. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/glama.json +0 -0
  21. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/mcp_server/__init__.py +0 -0
  22. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/mcp_server/_shared.py +0 -0
  23. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/mcp_server/server.py +0 -0
  24. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/mcp_server/tools/__init__.py +0 -0
  25. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/mcp_server/tools/analysis.py +0 -0
  26. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/mcp_server/tools/certs.py +0 -0
  27. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/mcp_server/tools/configread.py +0 -0
  28. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/mcp_server/tools/routes.py +0 -0
  29. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/mcp_server/tools/services.py +0 -0
  30. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/mcp_server/tools/status.py +0 -0
  31. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/mcp_server/tools/traffic.py +0 -0
  32. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/mcp_server/tools/undo.py +0 -0
  33. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/mcp_server/tools/writes.py +0 -0
  34. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/__init__.py +0 -0
  35. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/cli/__init__.py +0 -0
  36. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/cli/_common.py +0 -0
  37. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/cli/_root.py +0 -0
  38. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/cli/analyze.py +0 -0
  39. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/cli/certs.py +0 -0
  40. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/cli/configcmd.py +0 -0
  41. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/cli/doctor.py +0 -0
  42. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/cli/init.py +0 -0
  43. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/cli/overview.py +0 -0
  44. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/cli/routes.py +0 -0
  45. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/cli/secret.py +0 -0
  46. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/cli/server.py +0 -0
  47. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/cli/services.py +0 -0
  48. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/cli/undo.py +0 -0
  49. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/config.py +0 -0
  50. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/connection.py +0 -0
  51. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/doctor.py +0 -0
  52. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/governance/__init__.py +0 -0
  53. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/governance/audit.py +0 -0
  54. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/governance/budget.py +0 -0
  55. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/governance/decorators.py +0 -0
  56. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/governance/outcome.py +0 -0
  57. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/governance/paths.py +0 -0
  58. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/governance/patterns.py +0 -0
  59. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/governance/policy.py +0 -0
  60. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/governance/sanitize.py +0 -0
  61. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/governance/undo.py +0 -0
  62. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/ops/__init__.py +0 -0
  63. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/ops/_util.py +0 -0
  64. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/ops/analysis.py +0 -0
  65. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/ops/certs.py +0 -0
  66. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/ops/configread.py +0 -0
  67. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/ops/overview.py +0 -0
  68. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/ops/routes.py +0 -0
  69. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/ops/services.py +0 -0
  70. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/ops/status.py +0 -0
  71. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/ops/traffic.py +0 -0
  72. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/ops/writes.py +0 -0
  73. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/platform.py +0 -0
  74. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/proxy_aiops/secretstore.py +0 -0
  75. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/skills/proxy-aiops/references/agent-guardrails.md +0 -0
  76. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/skills/proxy-aiops/references/capabilities.md +0 -0
  77. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/skills/proxy-aiops/references/cli-reference.md +0 -0
  78. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/skills/proxy-aiops/references/setup-guide.md +0 -0
  79. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/smithery.yaml +0 -0
  80. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/conftest.py +0 -0
  81. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_analysis.py +0 -0
  82. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_cli_governed_exit.py +0 -0
  83. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_cli_reads.py +0 -0
  84. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_cli_secret.py +0 -0
  85. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_cli_writes.py +0 -0
  86. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_connection.py +0 -0
  87. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_doctor.py +0 -0
  88. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_dpapi_version.py +0 -0
  89. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_gov_audit.py +0 -0
  90. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_gov_decorators.py +0 -0
  91. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_gov_patterns.py +0 -0
  92. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_gov_policy.py +0 -0
  93. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_governance_persistence.py +0 -0
  94. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_init.py +0 -0
  95. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_int_fidelity.py +0 -0
  96. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_mcp_read_tools.py +0 -0
  97. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_ops_extra.py +0 -0
  98. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_optional_fields.py +0 -0
  99. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_platform.py +0 -0
  100. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_reads.py +0 -0
  101. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_secretstore.py +0 -0
  102. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_self_lockout.py +0 -0
  103. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_smoke.py +0 -0
  104. {proxy_aiops-0.9.0 → proxy_aiops-0.9.2}/tests/test_undo_executor.py +0 -0
  105. {proxy_aiops-0.9.0 → proxy_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": "proxy-aiops",
4
4
  "displayName": "Proxy AIops",
5
- "version": "0.9.0",
5
+ "version": "0.9.2",
6
6
  "description": "Governed Traefik + Caddy + HAProxy ops: routes, upstreams, certs, 5xx RCA. 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
- "proxy-aiops==0.9.0",
8
+ "proxy-aiops==0.9.2",
9
9
  "proxy-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/proxy-aiops` to
7
+ `@zw008/proxy-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/proxy-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/proxy-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: proxy-aiops
3
- Version: 0.9.0
3
+ Version: 0.9.2
4
4
  Summary: Governed AI-ops for Traefik + Caddy + HAProxy reverse proxies / load balancers: routes, services, upstream health, TLS cert expiry sweep, 5xx error-rate RCA, route conflict analysis, and governed writes (caddy config, haproxy server state/weight) 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
@@ -139,6 +139,21 @@ The MCP server is fetched with [uv](https://docs.astral.sh/uv/) and pinned to th
139
139
  package version this plugin declares, so an audit row can be traced back to the
140
140
  code that wrote it. Credentials are still configured with `proxy-aiops init` — see below.
141
141
 
142
+ ### As an OpenClaw plugin
143
+
144
+ The same bundle is published on [ClawHub](https://clawhub.ai/plugins), where one
145
+ install delivers the skill and its MCP server together:
146
+
147
+ ```bash
148
+ openclaw plugins install clawhub:@zw008/proxy-aiops
149
+ openclaw skills info proxy-aiops # expect: Visible to model: yes
150
+ ```
151
+
152
+ Restart the OpenClaw gateway afterwards so it loads the plugin. The MCP server is
153
+ fetched with [uv](https://docs.astral.sh/uv/), pinned to this exact release, so
154
+ `uvx` has to be on `PATH` — without it the skill still installs but reports
155
+ `Visible to model: no`. Credentials are configured exactly as below.
156
+
142
157
  ### As a CLI or standalone MCP server
143
158
 
144
159
  ```bash
@@ -123,6 +123,21 @@ The MCP server is fetched with [uv](https://docs.astral.sh/uv/) and pinned to th
123
123
  package version this plugin declares, so an audit row can be traced back to the
124
124
  code that wrote it. Credentials are still configured with `proxy-aiops init` — see below.
125
125
 
126
+ ### As an OpenClaw plugin
127
+
128
+ The same bundle is published on [ClawHub](https://clawhub.ai/plugins), where one
129
+ install delivers the skill and its MCP server together:
130
+
131
+ ```bash
132
+ openclaw plugins install clawhub:@zw008/proxy-aiops
133
+ openclaw skills info proxy-aiops # expect: Visible to model: yes
134
+ ```
135
+
136
+ Restart the OpenClaw gateway afterwards so it loads the plugin. The MCP server is
137
+ fetched with [uv](https://docs.astral.sh/uv/), pinned to this exact release, so
138
+ `uvx` has to be on `PATH` — without it the skill still installs but reports
139
+ `Visible to model: no`. Credentials are configured exactly as below.
140
+
126
141
  ### As a CLI or standalone MCP server
127
142
 
128
143
  ```bash
@@ -11,7 +11,7 @@
11
11
  "command": "uvx",
12
12
  "args": [
13
13
  "--from",
14
- "proxy-aiops==0.9.0",
14
+ "proxy-aiops==0.9.2",
15
15
  "proxy-aiops-mcp"
16
16
  ]
17
17
  }
@@ -1,6 +1,6 @@
1
1
  {
2
- "name": "@aiops-tools/proxy-aiops",
3
- "version": "0.9.0",
2
+ "name": "@zw008/proxy-aiops",
3
+ "version": "0.9.2",
4
4
  "description": "Governed Traefik + Caddy + HAProxy ops: routes, upstreams, certs, 5xx RCA. 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 = "proxy-aiops"
7
- version = "0.9.0"
7
+ version = "0.9.2"
8
8
  description = "Governed AI-ops for Traefik + Caddy + HAProxy reverse proxies / load balancers: routes, services, upstream health, TLS cert expiry sweep, 5xx error-rate RCA, route conflict analysis, and governed writes (caddy config, haproxy server state/weight) 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/Proxy-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": "proxy-aiops",
15
- "version": "0.9.0",
15
+ "version": "0.9.2",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  }
@@ -81,6 +81,15 @@ proxy-aiops init # wizard: pick platform (traefik/caddy/haproxy) + optiona
81
81
  proxy-aiops doctor
82
82
  ```
83
83
 
84
+ Or as an OpenClaw plugin, which installs this skill and its MCP server together:
85
+
86
+ ```bash
87
+ openclaw plugins install clawhub:@zw008/proxy-aiops
88
+ openclaw skills info proxy-aiops # expect: Visible to model: yes
89
+ ```
90
+
91
+ Needs `uvx` on `PATH`: the MCP server is fetched with uv, pinned to this release.
92
+
84
93
  ## When to Use This Skill
85
94
 
86
95
  - Get a one-shot snapshot (`overview` / `version_info` / `list_entrypoints`)
@@ -529,7 +529,7 @@ wheels = [
529
529
 
530
530
  [[package]]
531
531
  name = "proxy-aiops"
532
- version = "0.9.0"
532
+ version = "0.9.2"
533
533
  source = { editable = "." }
534
534
  dependencies = [
535
535
  { name = "cryptography" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes