@yawlabs/caddy-mcp 2.5.6 → 2.5.8
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.
- package/README.md +1 -1
- package/dist/index.js +8 -1
- package/dist/server.js +8 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -306,7 +306,7 @@ npm install
|
|
|
306
306
|
npm run lint # Biome check
|
|
307
307
|
npm run lint:fix # Auto-fix
|
|
308
308
|
npm run build # tsup bundle
|
|
309
|
-
npm test # Vitest (
|
|
309
|
+
npm test # Vitest (782 unit tests, +39 POSIX-only unix-socket and launcher tests; +39 live-Caddy integration tests gated by CADDY_MCP_INTEGRATION=1)
|
|
310
310
|
npm run typecheck # tsc --noEmit
|
|
311
311
|
```
|
|
312
312
|
|
package/dist/index.js
CHANGED
|
@@ -1633,7 +1633,14 @@ function registerRouteTools(server) {
|
|
|
1633
1633
|
"Optional stable @id for the route. When set, repeat calls REPLACE the route in place (idempotent). When omitted, the route is APPENDED \u2014 calling twice with identical args creates a duplicate route. @ids are config-global in Caddy: if this id is already used by a non-route object the call refuses rather than clobbering it."
|
|
1634
1634
|
)
|
|
1635
1635
|
},
|
|
1636
|
-
|
|
1636
|
+
// destructiveHint is TRUE because the hint covers the whole tool and a host
|
|
1637
|
+
// gates on it before it can see whether the call carries an `id`: with one,
|
|
1638
|
+
// an existing route under that @id is REPLACED wholesale by a PATCH -- its
|
|
1639
|
+
// matchers, its handlers, a subroute holding a whole site's nested routes,
|
|
1640
|
+
// all of it -- which is not the "only additive updates" MCP reserves
|
|
1641
|
+
// destructiveHint:false for. Without an `id` the call only appends. Same
|
|
1642
|
+
// worst-case rule as caddy_config_set and caddy_config_by_id.
|
|
1643
|
+
{ readOnlyHint: false, destructiveHint: true, idempotentHint: false, openWorldHint: false },
|
|
1637
1644
|
async ({ from, to, server: srv, id }) => {
|
|
1638
1645
|
const match = parseFrom(from.trim());
|
|
1639
1646
|
if (match.host?.[0]?.trim() === "" || match.host === void 0 && match.path === void 0) {
|
package/dist/server.js
CHANGED
|
@@ -1631,7 +1631,14 @@ function registerRouteTools(server) {
|
|
|
1631
1631
|
"Optional stable @id for the route. When set, repeat calls REPLACE the route in place (idempotent). When omitted, the route is APPENDED \u2014 calling twice with identical args creates a duplicate route. @ids are config-global in Caddy: if this id is already used by a non-route object the call refuses rather than clobbering it."
|
|
1632
1632
|
)
|
|
1633
1633
|
},
|
|
1634
|
-
|
|
1634
|
+
// destructiveHint is TRUE because the hint covers the whole tool and a host
|
|
1635
|
+
// gates on it before it can see whether the call carries an `id`: with one,
|
|
1636
|
+
// an existing route under that @id is REPLACED wholesale by a PATCH -- its
|
|
1637
|
+
// matchers, its handlers, a subroute holding a whole site's nested routes,
|
|
1638
|
+
// all of it -- which is not the "only additive updates" MCP reserves
|
|
1639
|
+
// destructiveHint:false for. Without an `id` the call only appends. Same
|
|
1640
|
+
// worst-case rule as caddy_config_set and caddy_config_by_id.
|
|
1641
|
+
{ readOnlyHint: false, destructiveHint: true, idempotentHint: false, openWorldHint: false },
|
|
1635
1642
|
async ({ from, to, server: srv, id }) => {
|
|
1636
1643
|
const match = parseFrom(from.trim());
|
|
1637
1644
|
if (match.host?.[0]?.trim() === "" || match.host === void 0 && match.path === void 0) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yawlabs/caddy-mcp",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.8",
|
|
4
4
|
"mcpName": "io.github.YawLabs/caddy-mcp",
|
|
5
5
|
"description": "Caddy MCP server for Claude Code, Cursor, and any MCP client: admin API, config, routes, reverse proxy, TLS, PKI, metrics",
|
|
6
6
|
"license": "MIT",
|